﻿/* Sixport - .Net port of the hexter DSSI software synthesizer plugin
 * 
 * .Net port, algorithm specific fast rendering Copyright (C) 2011, Balint Pfliegel
 * Based on hexter, Copyright (C) 2004, 2009 Sean Bolton and others.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be
 * useful, but WITHOUT ANY WARRANTY; without even the implied
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
 * PURPOSE.  See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public
 * License along with this program; if not, write to the Free
 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 * Boston, MA 02110-1301 USA.
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Sixport
{
    public class Data
    {
        /* This table lists which operators of an algorithm are carriers.  Bit 0 (LSB)
         * is set if operator 1 is a carrier, and so on through bit 5 for operator 6.
         */
        public static byte[] dx7_voice_carriers = new byte[32] {
            0x05, /* algorithm 1, operators 1 and 3 */
            0x05,
            0x09, /* algorithm 3, operators 1 and 4 */
            0x09,
            0x15, /* algorithm 5, operators 1, 3, and 5 */
            0x15,
            0x05,
            0x05,
            0x05,
            0x09,
            0x09,
            0x05,
            0x05,
            0x05,
            0x05,
            0x01, /* algorithm 16, operator 1 */
            0x01,
            0x01,
            0x19, /* algorithm 19, operators 1, 4, and 5 */
            0x0b, /* algorithm 20, operators 1, 2, and 4 */
            0x1b, /* algorithm 21, operators 1, 2, 4, and 5 */
            0x1d, /* algorithm 22, operators 1, 3, 4, and 5 */
            0x1b,
            0x1f, /* algorithm 24, operators 1 through 5 */
            0x1f,
            0x0b,
            0x0b,
            0x25, /* algorithm 28, operators 1, 3, and 6 */
            0x17, /* algorithm 29, operators 1, 2, 3, and 5 */
            0x27, /* algorithm 30, operators 1, 2, 3, and 6 */
            0x1f,
            0x2f, /* algorithm 32, all operators */
        };

        public static float[] dx7_voice_carrier_count = new float[32] {
            2.0f, 2.0f, 2.0f, 2.0f, 3.0f, 3.0f, 2.0f, 2.0f,
            2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 1.0f,
            1.0f, 1.0f, 3.0f, 3.0f, 4.0f, 4.0f, 4.0f, 5.0f,
            5.0f, 3.0f, 3.0f, 3.0f, 4.0f, 4.0f, 5.0f, 6.0f
        };

        public static float[] dx7_voice_eg_rate_rise_duration = new float[128] {  /* generated from my f04new */
            39.638000f,  37.013000f,  34.388000f,  31.763000f,  27.210500f,
            22.658000f,  20.408000f,  18.158000f,  15.908000f,  14.557000f,
            13.206000f,  12.108333f,  11.010667f,   9.913000f,   8.921000f,
            7.929000f,   7.171333f,   6.413667f,   5.656000f,   5.307000f,
            4.958000f,   4.405667f,   3.853333f,   3.301000f,   2.889000f,
            2.477000f,   2.313000f,   2.149000f,   1.985000f,   1.700500f,
            1.416000f,   1.274333f,   1.132667f,   0.991000f,   0.909000f,
            0.827000f,   0.758000f,   0.689000f,   0.620000f,   0.558000f,
            0.496000f,   0.448667f,   0.401333f,   0.354000f,   0.332000f,
            0.310000f,   0.275667f,   0.241333f,   0.207000f,   0.180950f,
            0.154900f,   0.144567f,   0.134233f,   0.123900f,   0.106200f,
            0.088500f,   0.079667f,   0.070833f,   0.062000f,   0.056800f,
            0.051600f,   0.047300f,   0.043000f,   0.038700f,   0.034800f,
            0.030900f,   0.028000f,   0.025100f,   0.022200f,   0.020815f,
            0.019430f,   0.017237f,   0.015043f,   0.012850f,   0.011230f,
            0.009610f,   0.009077f,   0.008543f,   0.008010f,   0.006960f,
            0.005910f,   0.005357f,   0.004803f,   0.004250f,   0.003960f,
            0.003670f,   0.003310f,   0.002950f,   0.002590f,   0.002420f,
            0.002250f,   0.002000f,   0.001749f,   0.001499f,   0.001443f,
            0.001387f,   0.001242f,   0.001096f,   0.000951f,   0.000815f,
            0.000815f,   0.000815f,   0.000815f,   0.000815f,   0.000815f,
            0.000815f,   0.000815f,   0.000815f,   0.000815f,   0.000815f,
            0.000815f,   0.000815f,   0.000815f,   0.000815f,   0.000815f,
            0.000815f,   0.000815f,   0.000815f,   0.000815f,   0.000815f,
            0.000815f,   0.000815f,   0.000815f,   0.000815f,   0.000815f,
            0.000815f,   0.000815f,   0.000815f
            };

        public static float[] dx7_voice_eg_rate_decay_duration = new float[128] {  /* generated from my f06new */
            317.487000f, 285.764500f, 254.042000f, 229.857000f, 205.672000f,
            181.487000f, 170.154000f, 158.821000f, 141.150667f, 123.480333f,
            105.810000f,  98.382500f,  90.955000f,  81.804667f,  72.654333f,
            63.504000f,  58.217000f,  52.930000f,  48.512333f,  44.094667f,
            39.677000f,  33.089000f,  26.501000f,  24.283333f,  22.065667f,
            19.848000f,  17.881500f,  15.915000f,  14.389667f,  12.864333f,
            11.339000f,  10.641000f,   9.943000f,   8.833333f,   7.723667f,
            6.614000f,   6.149500f,   5.685000f,   5.112667f,   4.540333f,
            3.968000f,   3.639000f,   3.310000f,   3.033667f,   2.757333f,
            2.481000f,   2.069500f,   1.658000f,   1.518667f,   1.379333f,
            1.240000f,   1.116500f,   0.993000f,   0.898333f,   0.803667f,
            0.709000f,   0.665500f,   0.622000f,   0.552667f,   0.483333f,
            0.414000f,   0.384500f,   0.355000f,   0.319333f,   0.283667f,
            0.248000f,   0.228000f,   0.208000f,   0.190600f,   0.173200f,
            0.155800f,   0.129900f,   0.104000f,   0.095400f,   0.086800f,
            0.078200f,   0.070350f,   0.062500f,   0.056600f,   0.050700f,
            0.044800f,   0.042000f,   0.039200f,   0.034833f,   0.030467f,
            0.026100f,   0.024250f,   0.022400f,   0.020147f,   0.017893f,
            0.015640f,   0.014305f,   0.012970f,   0.011973f,   0.010977f,
            0.009980f,   0.008310f,   0.006640f,   0.006190f,   0.005740f,
            0.005740f,   0.005740f,   0.005740f,   0.005740f,   0.005740f,
            0.005740f,   0.005740f,   0.005740f,   0.005740f,   0.005740f,
            0.005740f,   0.005740f,   0.005740f,   0.005740f,   0.005740f,
            0.005740f,   0.005740f,   0.005740f,   0.005740f,   0.005740f,
            0.005740f,   0.005740f,   0.005740f,   0.005740f,   0.005740f,
            0.005740f,   0.005740f,   0.005740f
        };

        public static float[] dx7_voice_eg_rate_decay_percent = new float[128] {  /* generated from P/H/Op f07 */
            0.000010f, 0.025009f, 0.050008f, 0.075007f, 0.100006f,
            0.125005f, 0.150004f, 0.175003f, 0.200002f, 0.225001f,
            0.250000f, 0.260000f, 0.270000f, 0.280000f, 0.290000f,
            0.300000f, 0.310000f, 0.320000f, 0.330000f, 0.340000f,
            0.350000f, 0.358000f, 0.366000f, 0.374000f, 0.382000f,
            0.390000f, 0.398000f, 0.406000f, 0.414000f, 0.422000f,
            0.430000f, 0.439000f, 0.448000f, 0.457000f, 0.466000f,
            0.475000f, 0.484000f, 0.493000f, 0.502000f, 0.511000f,
            0.520000f, 0.527000f, 0.534000f, 0.541000f, 0.548000f,
            0.555000f, 0.562000f, 0.569000f, 0.576000f, 0.583000f,
            0.590000f, 0.601000f, 0.612000f, 0.623000f, 0.634000f,
            0.645000f, 0.656000f, 0.667000f, 0.678000f, 0.689000f,
            0.700000f, 0.707000f, 0.714000f, 0.721000f, 0.728000f,
            0.735000f, 0.742000f, 0.749000f, 0.756000f, 0.763000f,
            0.770000f, 0.777000f, 0.784000f, 0.791000f, 0.798000f,
            0.805000f, 0.812000f, 0.819000f, 0.826000f, 0.833000f,
            0.840000f, 0.848000f, 0.856000f, 0.864000f, 0.872000f,
            0.880000f, 0.888000f, 0.896000f, 0.904000f, 0.912000f,
            0.920000f, 0.928889f, 0.937778f, 0.946667f, 0.955556f,
            0.964444f, 0.973333f, 0.982222f, 0.991111f, 1.000000f,
            1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f,
            1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f,
            1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f,
            1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f,
            1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f,
            1.000000f, 1.000000f, 1.000000f
        };

        public static float[] dx7_voice_eg_rate_rise_percent = new float[128] {  /* checked, matches P/H/Op f05 */
            0.000010f, 0.000010f, 0.000010f, 0.000010f, 0.000010f,
            0.000010f, 0.000010f, 0.000010f, 0.000010f, 0.000010f,
            0.000010f, 0.000010f, 0.000010f, 0.000010f, 0.000010f,
            0.000010f, 0.000010f, 0.000010f, 0.000010f, 0.000010f,
            0.000010f, 0.000010f, 0.000010f, 0.000010f, 0.000010f,
            0.000010f, 0.000010f, 0.000010f, 0.000010f, 0.000010f,
            0.000010f, 0.000010f, 0.005007f, 0.010005f, 0.015003f,
            0.020000f, 0.028000f, 0.036000f, 0.044000f, 0.052000f,
            0.060000f, 0.068000f, 0.076000f, 0.084000f, 0.092000f,
            0.100000f, 0.108000f, 0.116000f, 0.124000f, 0.132000f,
            0.140000f, 0.150000f, 0.160000f, 0.170000f, 0.180000f,
            0.190000f, 0.200000f, 0.210000f, 0.220000f, 0.230000f,
            0.240000f, 0.251000f, 0.262000f, 0.273000f, 0.284000f,
            0.295000f, 0.306000f, 0.317000f, 0.328000f, 0.339000f,
            0.350000f, 0.365000f, 0.380000f, 0.395000f, 0.410000f,
            0.425000f, 0.440000f, 0.455000f, 0.470000f, 0.485000f,
            0.500000f, 0.520000f, 0.540000f, 0.560000f, 0.580000f,
            0.600000f, 0.620000f, 0.640000f, 0.660000f, 0.680000f,
            0.700000f, 0.732000f, 0.764000f, 0.796000f, 0.828000f,
            0.860000f, 0.895000f, 0.930000f, 0.965000f, 1.000000f,
            1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f,
            1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f,
            1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f,
            1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f,
            1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f,
            1.000000f, 1.000000f, 1.000000f
        };

        /* This table converts an output level of 0 to 99 into a phase modulation
         * index of 0 to ~2.089 periods, expressed in s7.24 fixed point.  It
         * actually extends below 0 and beyond 99, since amplitude modulation can
         * produce 'negative' output levels, and velocities above 100 can produce
         * output levels above 99, plus it includes a 257th 'guard' point.
         * Table index 128 corresponds to output level 0, and index 227 to OL 99.
         * I believe this is based on information from the Chowning/Bristow
         * book (see the CREDITS file), filtered down to me through the work of
         * Pinkston, Harrington, and Abdullah as I found it on the Internet.  The
         * code used to calculate it looks something like this:
         *
         *    // DX7 output level to TL translation table
         *    int tl_table[128] = {
         *        127, 122, 118, 114, 110, 107, 104, 102, 100, 98, 96, 94, 92, 90,
         *        88, 86, 85, 84, 82, 81, 79, 78, 77, 76, 75, 74, 73, 72, 71,
         *        70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55,
         *        54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39,
         *        38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23,
         *        22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,
         *        5, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11,
         *        -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24,
         *        -25, -26, -27, -28
         *    };
         *
         *    int ol;
         *    double mi;
         *
         *    for (ol = 0; ol < 128; ol++) {
         *        if (ol < 5) {    // smoothly ramp from 0.0 at 0 to the proper value at 5
         *            mi = pow(2.0, ( (33.0/16.0) - ((double)tl_table[5]/8.0) - 1.0));
         *            mi = mi * ((double)ol / 5.0);
         *        } else {
         *            mi = pow(2.0, ( (33.0/16.0) - ((double)tl_table[ol]/8.0) - 1.0));
         *        }
         *        printf(" %6d,", DOUBLE_TO_FP(mi));
         *    }
         */
        public static Int32[] dx7_voice_eg_ol_to_mod_index_table = new Int32[257] {
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 659, 1319, 1978, 2638, 3298, 4277, 5086, 6049, 7193, 8554,
            10173, 12098, 14387, 17109, 20346, 22188, 24196, 28774, 31378,
            37315, 40693, 44376, 48392, 52772, 57548, 62757, 68437, 74631,
            81386, 88752, 96785, 105545, 115097, 125514, 136875, 149263,
            162772, 177504, 193570, 211090, 230195, 251029, 273750, 298526,
            325545, 355009, 387141, 422180, 460390, 502059, 547500, 597053,
            651091, 710019, 774282, 844360, 920781, 1004119, 1095000,
            1194106, 1302182, 1420039, 1548564, 1688721, 1841563, 2008239,
            2190000, 2388212, 2604364, 2840079, 3097128, 3377443, 3683127,
            4016479, 4380001, 4776425, 5208729, 5680159, 6194257, 6754886,
            7366255, 8032958, 8760003, 9552851, 10417458, 11360318,
            12388515, 13509772, 14732510, 16065917, 17520006, 19105702,
            20834916, 22720637, 24777031, 27019544, 29465021, 32131834,
            35040013, 38211405, 41669833, 45441275, 49554062, 54039088,
            58930043, 64263668, 70080027, 76422811, 83339667, 90882551,
            99108124, 108078176, 117860087, 128527336, 140160054, 152845623,
            166679334, 181765102, 198216249, 216156353, 235720174,
            257054673, 280320108, 305691246, 333358668, 363530205,
            396432499, 396432499
        };

        /* This table converts an output level of 0 to 99 into an output amplitude
         * scale factor of 0 to 1 in s7.24 fixed point.  It converts a linear 0-99
         * envelope to an exponential volume, and is just a normalized version of
         * dx7_voice_eg_ol_to_mod_index_table[] (see its description above). */
        public static Int32[] dx7_voice_eg_ol_to_amp_table = new Int32[257] {
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 315, 631, 947, 1263, 1579, 2048, 2435, 2896, 3444, 4096,
            4870, 5792, 6888, 8192, 9741, 10623, 11585, 13777, 15024, 17866,
            19483, 21247, 23170, 25267, 27554, 30048, 32768, 35733, 38967,
            42494, 46340, 50535, 55108, 60096, 65536, 71467, 77935, 84989,
            92681, 101070, 110217, 120193, 131072, 142935, 155871, 169979,
            185363, 202140, 220435, 240387, 262144, 285870, 311743, 339958,
            370727, 404281, 440871, 480774, 524288, 571740, 623487, 679917,
            741455, 808562, 881743, 961548, 1048576, 1143480, 1246974,
            1359834, 1482910, 1617125, 1763487, 1923096, 2097152, 2286960,
            2493948, 2719669, 2965820, 3234250, 3526975, 3846193, 4194304,
            4573920, 4987896, 5439339, 5931641, 6468501, 7053950, 7692387,
            8388608, 9147841, 9975792, 10878678, 11863283, 12937002,
            14107900, 15384774, 16777216, 18295683, 19951584, 21757357,
            23726566, 25874004, 28215801, 30769549, 33554432, 36591367,
            39903169, 43514714, 47453132, 51748008, 56431603, 61539099,
            67108864, 73182735, 79806338, 87029429, 94906265, 103496016,
            112863206, 123078199, 134217728, 146365470, 159612677,
            174058858, 189812531, 189812531
        };

        /* This table lists the output level adjustment needed for a certain
         * velocity, expressed in output level units per unit of velocity
         * sensitivity. It is based on measurements I took from my TX7. */
        public static float[] dx7_voice_velocity_ol_adjustment = new float[128] {
            -99.0f,    -10.295511f, -9.709229f, -9.372207f,
            -9.121093f, -8.629703f, -8.441805f, -8.205647f,
            -7.810857f, -7.653259f, -7.299901f, -7.242308f,
            -6.934396f, -6.727051f, -6.594723f, -6.427755f,
            -6.275133f, -6.015212f, -5.843023f, -5.828787f,
            -5.725659f, -5.443202f, -5.421110f, -5.222133f,
            -5.160615f, -5.038265f, -4.948225f, -4.812105f,
            -4.632120f, -4.511531f, -4.488645f, -4.370043f,
            -4.370610f, -4.058591f, -4.066902f, -3.952988f,
            -3.909686f, -3.810096f, -3.691883f, -3.621306f,
            -3.527286f, -3.437519f, -3.373512f, -3.339195f,
            -3.195983f, -3.167622f, -3.094788f, -2.984045f,
            -2.937463f, -2.890713f, -2.890660f, -2.691874f,
            -2.649229f, -2.544696f, -2.498147f, -2.462573f,
            -2.396637f, -2.399795f, -2.236338f, -2.217625f,
            -2.158336f, -2.135569f, -1.978521f, -1.913965f,
            -1.937082f, -1.752275f, -1.704013f, -1.640514f,
            -1.598791f, -1.553859f, -1.512187f, -1.448088f,
            -1.450443f, -1.220567f, -1.182340f, -1.123139f,
            -1.098469f, -1.020642f, -0.973039f, -0.933279f,
            -0.938035f, -0.757380f, -0.740860f, -0.669721f,
            -0.681526f, -0.555390f, -0.519321f, -0.509318f,
            -0.456936f, -0.460622f, -0.290578f, -0.264393f,
            -0.252716f, -0.194141f, -0.153566f, -0.067842f,
            -0.033402f, -0.054947f,  0.012860f,  0.000000f,
            -0.009715f,  0.236054f,  0.273956f,  0.271968f,
                0.330177f,  0.345427f,  0.352333f,  0.433861f,
                0.442952f,  0.476411f,  0.539632f,  0.525355f,
                0.526115f,  0.707022f,  0.701551f,  0.734875f,
                0.739149f,  0.794320f,  0.801578f,  0.814225f,
                0.818939f,  0.897102f,  0.895082f,  0.927998f,
                0.929797f,  0.956112f,  0.956789f,  0.958121f
        };

        /* This table converts pitch envelope level parameters into the
         * actual pitch shift in semitones.  For levels [17,85], this is
         * just ((level - 50) / 32 * 12), but at the outer edges the shift
         * is exagerated to 0 = -48 and 99 => 47.624.  This is based on
         * measurements I took from my TX7. */
        public static double[] dx7_voice_pitch_level_to_shift = new double[128] {
            -48.000000, -43.497081, -38.995993, -35.626132, -31.873615,
            -28.495880, -25.500672, -22.872620, -20.998167, -19.496961,
            -18.373238, -17.251065, -16.122139, -15.375956, -14.624487,
            -13.876516, -13.126351, -12.375000, -12.000000, -11.625000,
            -11.250000, -10.875000, -10.500000, -10.125000, -9.750000,
            -9.375000, -9.000000, -8.625000, -8.250000, -7.875000,
            -7.500000, -7.125000, -6.750000, -6.375000, -6.000000,
            -5.625000, -5.250000, -4.875000, -4.500000, -4.125000,
            -3.750000, -3.375000, -3.000000, -2.625000, -2.250000,
            -1.875000, -1.500000, -1.125000, -0.750000, -0.375000, 0.000000,
            0.375000, 0.750000, 1.125000, 1.500000, 1.875000, 2.250000,
            2.625000, 3.000000, 3.375000, 3.750000, 4.125000, 4.500000,
            4.875000, 5.250000, 5.625000, 6.000000, 6.375000, 6.750000,
            7.125000, 7.500000, 7.875000, 8.250000, 8.625000, 9.000000,
            9.375000, 9.750000, 10.125000, 10.500000, 10.875000, 11.250000,
            11.625000, 12.000000, 12.375000, 12.750000, 13.125000,
            14.251187, 15.001922, 16.126327, 17.250917, 18.375718,
            19.877643, 21.753528, 24.373913, 27.378021, 30.748956,
            34.499234, 38.627888, 43.122335, 47.624065, 48.0, 48.0, 48.0,
            48.0, 48.0, 48.0, 48.0, 48.0, 48.0, 48.0, 48.0, 48.0, 48.0,
            48.0, 48.0, 48.0, 48.0, 48.0, 48.0, 48.0, 48.0, 48.0, 48.0,
            48.0, 48.0, 48.0, 48.0, 48.0
        };

        /* This table converts LFO speed to frequency in Hz. It is based on
         * interpolation of Jamie Bullock's measurements. */
        public static float[] dx7_voice_lfo_frequency = new float[128] {
            0.062506f,  0.124815f,  0.311474f,  0.435381f,  0.619784f,
            0.744396f,  0.930495f,  1.116390f,  1.284220f,  1.496880f,
            1.567830f,  1.738994f,  1.910158f,  2.081322f,  2.252486f,
            2.423650f,  2.580668f,  2.737686f,  2.894704f,  3.051722f,
            3.208740f,  3.366820f,  3.524900f,  3.682980f,  3.841060f,
            3.999140f,  4.159420f,  4.319700f,  4.479980f,  4.640260f,
            4.800540f,  4.953584f,  5.106628f,  5.259672f,  5.412716f,
            5.565760f,  5.724918f,  5.884076f,  6.043234f,  6.202392f,
            6.361550f,  6.520044f,  6.678538f,  6.837032f,  6.995526f,
            7.154020f,  7.300500f,  7.446980f,  7.593460f,  7.739940f,
            7.886420f,  8.020588f,  8.154756f,  8.288924f,  8.423092f,
            8.557260f,  8.712624f,  8.867988f,  9.023352f,  9.178716f,
            9.334080f,  9.669644f, 10.005208f, 10.340772f, 10.676336f,
            11.011900f, 11.963680f, 12.915460f, 13.867240f, 14.819020f,
            15.770800f, 16.640240f, 17.509680f, 18.379120f, 19.248560f,
            20.118000f, 21.040700f, 21.963400f, 22.886100f, 23.808800f,
            24.731500f, 25.759740f, 26.787980f, 27.816220f, 28.844460f,
            29.872700f, 31.228200f, 32.583700f, 33.939200f, 35.294700f,
            36.650200f, 37.812480f, 38.974760f, 40.137040f, 41.299320f,
            42.461600f, 43.639800f, 44.818000f, 45.996200f, 47.174400f,
            47.174400f, 47.174400f, 47.174400f, 47.174400f, 47.174400f,
            47.174400f, 47.174400f, 47.174400f, 47.174400f, 47.174400f,
            47.174400f, 47.174400f, 47.174400f, 47.174400f, 47.174400f,
            47.174400f, 47.174400f, 47.174400f, 47.174400f, 47.174400f,
            47.174400f, 47.174400f, 47.174400f, 47.174400f, 47.174400f,
            47.174400f, 47.174400f, 47.174400f
        };

        /* This table converts pitch modulation sensitivity to semitones at full
         * modulation (assuming a perfectly linear pitch mod depth to pitch
         * relationship).  It is from a simple averaging of Jamie Bullock's
         * TX-data-1/PMD and TX-data-2/ENV data, and ignores the apparent ~0.1
         * semitone positive bias that Jamie observed. [-FIX- smbolton: my
         * inclination would be to call this bias, if it's reproducible, a
         * non-desirable 'bug', and _not_ implement it in hexter. And, at
         * least for my own personal build, I'd change that PMS=7 value to a
         * full octave, since that's one thing that's always bugged me about
         * my TX7.  Thoughts? ] */
        public static float[] dx7_voice_pms_to_semitones = new float[8] {
            0.0f, 0.450584f, 0.900392f, 1.474744f,
            2.587385f, 4.232292f, 6.982097f, /* 11.722111 */ 12.0f
        };

        /* This table converts amplitude modulation depth to output level
         * reduction at full modulation with an amplitude modulation sensitivity
         * of 3.  It was constructed from regression of a very few data points,
         * using this code:
         *   perl -e 'for ($i = 0; $i <= 99; $i++) { printf " %f,\n", exp($i * 0.0428993 - 0.285189); }' >x.c
         * and is probably rather rough in its accuracy. -FIX- */
        public static float[] dx7_voice_amd_to_ol_adjustment = new float[100] {
            0.0f, 0.784829f, 0.819230f, 0.855139f, 0.892622f, 0.931748f,
            0.972589f, 1.015221f, 1.059721f, 1.106171f, 1.154658f, 1.205270f,
            1.258100f, 1.313246f, 1.370809f, 1.430896f, 1.493616f, 1.559085f,
            1.627424f, 1.698759f, 1.773220f, 1.850945f, 1.932077f, 2.016765f,
            2.105166f, 2.197441f, 2.293761f, 2.394303f, 2.499252f, 2.608801f,
            2.723152f, 2.842515f, 2.967111f, 3.097167f, 3.232925f, 3.374633f,
            3.522552f, 3.676956f, 3.838127f, 4.006362f, 4.181972f, 4.365280f,
            4.556622f, 4.756352f, 4.964836f, 5.182458f, 5.409620f, 5.646738f,
            5.894251f, 6.152612f, 6.422298f, 6.703805f, 6.997652f, 7.304378f,
            7.624549f, 7.958754f, 8.307609f, 8.671754f, 9.051861f, 9.448629f,
            9.862789f, 10.295103f, 10.746365f, 11.217408f, 11.709099f,
            12.222341f, 12.758080f, 13.317302f, 13.901036f, 14.510357f,
            15.146387f, 15.810295f, 16.503304f, 17.226690f, 17.981783f,
            18.769975f, 19.592715f, 20.451518f, 21.347965f, 22.283705f,
            23.260462f, 24.280032f, 25.344294f, 26.455204f, 27.614809f,
            28.825243f, 30.088734f, 31.407606f, 32.784289f, 34.221315f,
            35.721330f, 37.287095f, 38.921492f, 40.627529f, 42.408347f,
            44.267222f, 46.207578f, 48.232984f, 50.347169f, 52.75f
        };

        /* This table converts modulation source sensitivity (e.g. 'foot
         * controller sensitivity') into output level reduction at full modulation
         * with amplitude modulation sensitivity 3.  It's basically just the above
         * table scaled for 0 to 15 instead of 0 to 99. */
        public static float[] dx7_voice_mss_to_ol_adjustment = new float[16] {
            0.0f, 0.997948f, 1.324562f, 1.758071f, 2.333461f, 3.097167f, 4.110823f,
            5.456233f, 7.241976f, 9.612164f, 12.758080f, 16.933606f, 22.475719f,
            29.831681f, 39.595137f, 52.75f
        };

        public static dx7_patch[] friendly_patches = new dx7_patch[Constants.FRIENDLY_PATCH_COUNT] {
         new dx7_patch( 
            0x5f, 0x1d, 0x14, 0x32, 0x63, 0x5f, 0x00, 0x00, 0x29, 0x00, 0x13, 0x00, 0x73, 0x18, 0x4f, 0x02,
            0x00, 0x5f, 0x14, 0x14, 0x32, 0x63, 0x5f, 0x00, 0x00, 0x2c, 0x00, 0x08, 0x00, 0x03, 0x0a, 0x63,
            0x02, 0x00, 0x5f, 0x1d, 0x14, 0x32, 0x63, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x18,
            0x59, 0x02, 0x00, 0x5f, 0x14, 0x14, 0x32, 0x63, 0x5f, 0x00, 0x00, 0x2c, 0x00, 0x08, 0x00, 0x3b,
            0x0b, 0x63, 0x02, 0x00, 0x5f, 0x32, 0x23, 0x4e, 0x63, 0x4b, 0x00, 0x00, 0x24, 0x00, 0x32, 0x00,
            0x3b, 0x1c, 0x4b, 0x22, 0x36, 0x60, 0x19, 0x19, 0x43, 0x63, 0x4b, 0x00, 0x00, 0x2c, 0x00, 0x08,
            0x00, 0x53, 0x1c, 0x63, 0x02, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x04, 0x0c,
            0x09, 0x00, 0x00, 0x00, 0x08, 0x18, 0x45, 0x6c, 0x65, 0x63, 0x20, 0x50, 0x69, 0x61, 0x6e, 0x6f ),
         new dx7_patch( 0x63, 0x29, 0x39, 0x2c, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x08, 0x3f, 0x18,
            0x00, 0x63, 0x1a, 0x00, 0x2c, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x10, 0x63,
            0x02, 0x00, 0x63, 0x23, 0x39, 0x30, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x0c,
            0x3b, 0x0e, 0x00, 0x63, 0x1a, 0x39, 0x30, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
            0x10, 0x63, 0x02, 0x00, 0x62, 0x63, 0x00, 0x5a, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x38, 0x00, 0x00, 0x02, 0x00, 0x62, 0x63, 0x00, 0x5a, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x38, 0x00, 0x00, 0x02, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x04, 0x07,
            0x2f, 0x00, 0x00, 0x00, 0x30, 0x18, 0x46, 0x42, 0x3a, 0x50, 0x66, 0x56, 0x69, 0x62, 0x65, 0x20 ),
         new dx7_patch( 0x5a, 0x00, 0x16, 0x20, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x47, 0x04,
            0x00, 0x5a, 0x2a, 0x1e, 0x28, 0x63, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x0c, 0x63,
            0x01, 0x00, 0x5f, 0x1d, 0x14, 0x32, 0x63, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5b, 0x18,
            0x4f, 0x04, 0x00, 0x5f, 0x1e, 0x14, 0x32, 0x63, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b,
            0x0c, 0x61, 0x04, 0x00, 0x5f, 0x30, 0x23, 0x5a, 0x63, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x3b, 0x1d, 0x4d, 0x38, 0x00, 0x62, 0x1e, 0x12, 0x42, 0x63, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x53, 0x10, 0x5e, 0x04, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x04, 0x00,
            0x23, 0x00, 0x00, 0x00, 0x01, 0x0c, 0x46, 0x61, 0x74, 0x54, 0x68, 0x69, 0x6e, 0x45, 0x2e, 0x50 ),
         new dx7_patch( 0x5f, 0x1d, 0x14, 0x32, 0x63, 0x5f, 0x00, 0x00, 0x29, 0x00, 0x13, 0x00, 0x73, 0x18, 0x4f, 0x02,
            0x00, 0x5f, 0x14, 0x14, 0x32, 0x63, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x63,
            0x02, 0x00, 0x5f, 0x1d, 0x14, 0x32, 0x63, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x18,
            0x59, 0x02, 0x00, 0x5f, 0x14, 0x14, 0x32, 0x63, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b,
            0x08, 0x63, 0x02, 0x00, 0x5f, 0x32, 0x23, 0x4e, 0x63, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x3b, 0x1c, 0x3a, 0x1c, 0x00, 0x60, 0x19, 0x19, 0x43, 0x63, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x53, 0x08, 0x63, 0x02, 0x00, 0x5e, 0x43, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x04, 0x06,
            0x22, 0x21, 0x00, 0x00, 0x38, 0x18, 0x45, 0x2e, 0x50, 0x49, 0x41, 0x4e, 0x4f, 0x20, 0x31, 0x20 ),
         new dx7_patch( 0x5a, 0x34, 0x19, 0x36, 0x63, 0x3c, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3a, 0x1c, 0x3c, 0x16,
            0x00, 0x5f, 0x4e, 0x14, 0x39, 0x63, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x08, 0x63,
            0x02, 0x00, 0x61, 0x44, 0x0d, 0x36, 0x63, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x10,
            0x20, 0x1c, 0x00, 0x5f, 0x1f, 0x14, 0x36, 0x63, 0x50, 0x00, 0x00, 0x24, 0x24, 0x00, 0x00, 0x3b,
            0x04, 0x63, 0x02, 0x00, 0x5f, 0x63, 0x00, 0x36, 0x63, 0x63, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x3b, 0x08, 0x4a, 0x02, 0x00, 0x60, 0x19, 0x19, 0x36, 0x63, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x3b, 0x00, 0x63, 0x02, 0x00, 0x5e, 0x43, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x05, 0x04,
            0x22, 0x21, 0x00, 0x00, 0x08, 0x18, 0x45, 0x2e, 0x50, 0x49, 0x41, 0x4e, 0x4f, 0x20, 0x33, 0x20 ),
         new dx7_patch( 0x7f, 0x2a, 0x2f, 0x24, 0x63, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x10, 0x42, 0x02,
            0x00, 0x5a, 0x44, 0x14, 0x2b, 0x5f, 0x5a, 0x00, 0x00, 0x27, 0x53, 0x00, 0x03, 0x3b, 0x0c, 0x46,
            0x02, 0x00, 0x61, 0x1b, 0x0a, 0x19, 0x63, 0x56, 0x30, 0x00, 0x00, 0x00, 0x60, 0x00, 0x3b, 0x00,
            0x61, 0x06, 0x00, 0x5a, 0x1b, 0x14, 0x32, 0x63, 0x55, 0x00, 0x00, 0x24, 0x00, 0x44, 0x00, 0x3b,
            0x08, 0x47, 0x0a, 0x00, 0x5f, 0x1e, 0x19, 0x32, 0x63, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00,
            0x3a, 0x08, 0x56, 0x02, 0x00, 0x60, 0x1e, 0x19, 0x32, 0x63, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x3b, 0x0c, 0x63, 0x02, 0x00, 0x5e, 0x43, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x10, 0x05,
            0x22, 0x21, 0x00, 0x00, 0x08, 0x18, 0x45, 0x2e, 0x47, 0x52, 0x41, 0x4e, 0x44, 0x20, 0x31, 0x20 ),
         new dx7_patch( 0x63, 0x00, 0x19, 0x00, 0x63, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x35, 0x00, 0x52, 0x02,
            0x00, 0x51, 0x3a, 0x24, 0x27, 0x63, 0x0e, 0x00, 0x00, 0x30, 0x00, 0x42, 0x00, 0x35, 0x04, 0x5d,
            0x02, 0x3a, 0x51, 0x17, 0x16, 0x2d, 0x63, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x08,
            0x63, 0x02, 0x00, 0x51, 0x19, 0x19, 0x0e, 0x63, 0x63, 0x63, 0x00, 0x2f, 0x20, 0x4a, 0x03, 0x3d,
            0x00, 0x39, 0x06, 0x00, 0x63, 0x00, 0x19, 0x00, 0x63, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00,
            0x4d, 0x00, 0x57, 0x02, 0x00, 0x51, 0x19, 0x14, 0x30, 0x63, 0x52, 0x00, 0x00, 0x00, 0x55, 0x00,
            0x03, 0x2c, 0x08, 0x63, 0x02, 0x00, 0x5e, 0x43, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x12, 0x0e,
            0x23, 0x00, 0x00, 0x00, 0x40, 0x18, 0x50, 0x49, 0x41, 0x4e, 0x4f, 0x20, 0x20, 0x20, 0x31, 0x20 ),
         new dx7_patch( 0x5e, 0x13, 0x00, 0x2a, 0x63, 0x5c, 0x00, 0x00, 0x1a, 0x08, 0x00, 0x03, 0x70, 0x04, 0x3a, 0x10,
            0x00, 0x48, 0x10, 0x00, 0x2a, 0x63, 0x5c, 0x00, 0x00, 0x0b, 0x14, 0x4c, 0x00, 0x4c, 0x0c, 0x45,
            0x28, 0x00, 0x40, 0x0e, 0x09, 0x2b, 0x63, 0x58, 0x00, 0x00, 0x03, 0x00, 0x47, 0x07, 0x45, 0x04,
            0x4f, 0x08, 0x00, 0x41, 0x0f, 0x0b, 0x2b, 0x63, 0x58, 0x00, 0x00, 0x33, 0x00, 0x15, 0x00, 0x34,
            0x04, 0x4d, 0x02, 0x00, 0x42, 0x3d, 0x40, 0x37, 0x63, 0x52, 0x00, 0x00, 0x60, 0x14, 0x00, 0x00,
            0x39, 0x08, 0x50, 0x03, 0x57, 0x46, 0x14, 0x0b, 0x2e, 0x63, 0x5a, 0x00, 0x00, 0x46, 0x03, 0x28,
            0x00, 0x3e, 0x18, 0x63, 0x02, 0x00, 0x63, 0x63, 0x63, 0x63, 0x31, 0x32, 0x32, 0x32, 0x0f, 0x08,
            0x23, 0x00, 0x00, 0x00, 0x01, 0x18, 0x41, 0x2e, 0x50, 0x69, 0x61, 0x6e, 0x6f, 0x31, 0x2e, 0x35 ),
         new dx7_patch( 0x5f, 0x48, 0x47, 0x63, 0x63, 0x61, 0x5b, 0x62, 0x40, 0x00, 0x37, 0x00, 0x39, 0x00, 0x57, 0x0c,
            0x00, 0x5f, 0x1c, 0x1b, 0x2f, 0x63, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x0c, 0x53,
            0x08, 0x00, 0x5f, 0x48, 0x47, 0x63, 0x63, 0x61, 0x5b, 0x62, 0x40, 0x00, 0x2e, 0x00, 0x39, 0x00,
            0x63, 0x06, 0x00, 0x5f, 0x1c, 0x1b, 0x2f, 0x63, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5b,
            0x08, 0x55, 0x02, 0x00, 0x5f, 0x48, 0x47, 0x63, 0x63, 0x61, 0x5b, 0x62, 0x00, 0x00, 0x00, 0x00,
            0x39, 0x00, 0x63, 0x00, 0x00, 0x5f, 0x1c, 0x1b, 0x2f, 0x63, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x2b, 0x08, 0x59, 0x08, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x04, 0x09,
            0x23, 0x00, 0x00, 0x00, 0x20, 0x24, 0x48, 0x41, 0x52, 0x50, 0x53, 0x49, 0x43, 0x48, 0x2e, 0x20 ),
         new dx7_patch( 0x63, 0x30, 0x63, 0x32, 0x63, 0x20, 0x00, 0x00, 0x27, 0x0c, 0x0c, 0x0c, 0x3d, 0x1c, 0x3e, 0x1c,
            0x00, 0x50, 0x55, 0x18, 0x32, 0x63, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x14, 0x63,
            0x02, 0x00, 0x50, 0x55, 0x18, 0x32, 0x63, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b, 0x1c,
            0x63, 0x02, 0x00, 0x50, 0x55, 0x2b, 0x32, 0x63, 0x4a, 0x00, 0x00, 0x27, 0x0c, 0x0c, 0x0c, 0x3c,
            0x10, 0x4e, 0x06, 0x00, 0x50, 0x55, 0x18, 0x32, 0x63, 0x5a, 0x00, 0x00, 0x27, 0x04, 0x0c, 0x0c,
            0x3a, 0x14, 0x63, 0x02, 0x00, 0x63, 0x1c, 0x63, 0x32, 0x63, 0x19, 0x00, 0x00, 0x27, 0x0c, 0x0c,
            0x0c, 0x3a, 0x1c, 0x46, 0x08, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x16, 0x0d,
            0x1a, 0x00, 0x00, 0x00, 0x11, 0x18, 0x56, 0x49, 0x42, 0x45, 0x53, 0x20, 0x20, 0x20, 0x20, 0x41 ),
         new dx7_patch( 0x62, 0x4d, 0x37, 0x00, 0x4e, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x10, 0x57, 0x0e,
            0x07, 0x62, 0x40, 0x00, 0x08, 0x52, 0x30, 0x00, 0x00, 0x36, 0x00, 0x2e, 0x00, 0x38, 0x08, 0x61,
            0x0e, 0x00, 0x5a, 0x3f, 0x00, 0x52, 0x52, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x14,
            0x5b, 0x0e, 0x00, 0x62, 0x1d, 0x20, 0x2e, 0x63, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b,
            0x14, 0x63, 0x02, 0x00, 0x62, 0x1e, 0x2e, 0x32, 0x63, 0x50, 0x00, 0x00, 0x36, 0x00, 0x2e, 0x00,
            0x3c, 0x10, 0x3c, 0x0a, 0x00, 0x62, 0x15, 0x19, 0x2e, 0x63, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x3b, 0x10, 0x63, 0x02, 0x01, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x06, 0x0f,
            0x15, 0x00, 0x00, 0x00, 0x21, 0x18, 0x41, 0x2e, 0x4d, 0x41, 0x4c, 0x4c, 0x45, 0x54, 0x20, 0x41 ),
         new dx7_patch( 0x63, 0x41, 0x55, 0x49, 0x63, 0x12, 0x00, 0x00, 0x24, 0x33, 0x06, 0x01, 0x71, 0x10, 0x55, 0x06,
            0x0b, 0x63, 0x31, 0x4e, 0x32, 0x63, 0x15, 0x0b, 0x00, 0x00, 0x00, 0x14, 0x04, 0x71, 0x08, 0x63,
            0x02, 0x00, 0x63, 0x4a, 0x15, 0x55, 0x59, 0x22, 0x00, 0x00, 0x25, 0x63, 0x00, 0x03, 0x3a, 0x14,
            0x63, 0x04, 0x1c, 0x63, 0x1e, 0x4e, 0x25, 0x63, 0x15, 0x0b, 0x00, 0x30, 0x63, 0x63, 0x06, 0x3f,
            0x10, 0x63, 0x02, 0x00, 0x63, 0x52, 0x32, 0x49, 0x63, 0x56, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00,
            0x02, 0x10, 0x63, 0x06, 0x0b, 0x63, 0x1e, 0x4e, 0x25, 0x63, 0x15, 0x0b, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x07, 0x08, 0x63, 0x02, 0x00, 0x63, 0x63, 0x63, 0x63, 0x30, 0x32, 0x32, 0x32, 0x04, 0x00,
            0x23, 0x00, 0x00, 0x00, 0x31, 0x18, 0x43, 0x41, 0x52, 0x49, 0x42, 0x49, 0x43, 0x20, 0x32, 0x20 ),
         new dx7_patch( 0x63, 0x3d, 0x37, 0x32, 0x63, 0x50, 0x00, 0x00, 0x0f, 0x00, 0x14, 0x04, 0x44, 0x00, 0x3b, 0x08,
            0x00, 0x63, 0x27, 0x27, 0x27, 0x63, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x14, 0x04, 0x3c, 0x00, 0x63,
            0x00, 0x00, 0x63, 0x3d, 0x37, 0x32, 0x63, 0x50, 0x00, 0x00, 0x0f, 0x00, 0x14, 0x04, 0x3c, 0x00,
            0x39, 0x12, 0x00, 0x63, 0x27, 0x27, 0x27, 0x63, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x14, 0x04, 0x44,
            0x00, 0x63, 0x02, 0x00, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x38, 0x00, 0x00, 0x02, 0x00, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x38, 0x00, 0x00, 0x02, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x04, 0x08,
            0x23, 0x00, 0x00, 0x00, 0x01, 0x18, 0x4d, 0x41, 0x52, 0x49, 0x4d, 0x42, 0x41, 0x20, 0x20, 0x20 ),
         new dx7_patch( 0x00, 0x51, 0x37, 0x00, 0x4e, 0x4e, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x38, 0x14, 0x4b, 0x08,
            0x00, 0x63, 0x56, 0x37, 0x00, 0x60, 0x4e, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x38, 0x08, 0x4f,
            0x00, 0x00, 0x63, 0x49, 0x00, 0x0e, 0x52, 0x30, 0x00, 0x00, 0x36, 0x00, 0x2e, 0x00, 0x38, 0x08,
            0x5e, 0x06, 0x00, 0x5f, 0x32, 0x31, 0x29, 0x63, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b,
            0x18, 0x63, 0x00, 0x00, 0x63, 0x47, 0x00, 0x00, 0x52, 0x30, 0x00, 0x00, 0x36, 0x00, 0x2e, 0x00,
            0x38, 0x08, 0x63, 0x06, 0x00, 0x5f, 0x2b, 0x31, 0x35, 0x63, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x3a, 0x14, 0x63, 0x00, 0x00, 0x5e, 0x43, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x06, 0x08,
            0x22, 0x21, 0x00, 0x00, 0x18, 0x30, 0x58, 0x59, 0x4c, 0x4f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x20 ),
         new dx7_patch( 0x62, 0x57, 0x00, 0x00, 0x57, 0x56, 0x00, 0x00, 0x20, 0x00, 0x15, 0x00, 0x3b, 0x08, 0x52, 0x28,
            0x00, 0x5f, 0x5f, 0x36, 0x00, 0x63, 0x60, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x10, 0x4a,
            0x08, 0x00, 0x5f, 0x5c, 0x1c, 0x3c, 0x63, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x0c,
            0x51, 0x06, 0x00, 0x62, 0x57, 0x00, 0x00, 0x57, 0x56, 0x00, 0x00, 0x20, 0x00, 0x15, 0x00, 0x3b,
            0x1c, 0x55, 0x0e, 0x32, 0x5f, 0x5f, 0x00, 0x00, 0x63, 0x60, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x33, 0x14, 0x52, 0x00, 0x00, 0x5f, 0x5c, 0x1c, 0x3c, 0x63, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x23, 0x1c, 0x63, 0x04, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x11, 0x0b,
            0x1e, 0x00, 0x00, 0x00, 0x28, 0x24, 0x43, 0x4c, 0x41, 0x56, 0x2e, 0x20, 0x20, 0x20, 0x20, 0x42 ),
         new dx7_patch( 0x63, 0x39, 0x63, 0x4b, 0x63, 0x00, 0x00, 0x00, 0x27, 0x35, 0x14, 0x00, 0x38, 0x1b, 0x39, 0x18,
            0x00, 0x51, 0x57, 0x16, 0x4b, 0x63, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x3c, 0x1c, 0x63,
            0x06, 0x00, 0x51, 0x57, 0x16, 0x4b, 0x63, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x3c, 0x10,
            0x59, 0x06, 0x00, 0x4e, 0x57, 0x16, 0x4b, 0x63, 0x5c, 0x00, 0x00, 0x22, 0x09, 0x00, 0x00, 0x3b,
            0x1c, 0x63, 0x02, 0x00, 0x5b, 0x19, 0x27, 0x3c, 0x63, 0x56, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00,
            0x3a, 0x1c, 0x5d, 0x06, 0x00, 0x4a, 0x55, 0x1b, 0x46, 0x63, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x3c, 0x14, 0x63, 0x02, 0x00, 0x4b, 0x50, 0x4b, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x07, 0x07,
            0x23, 0x00, 0x01, 0x03, 0x38, 0x18, 0x47, 0x55, 0x49, 0x54, 0x41, 0x52, 0x20, 0x20, 0x31, 0x20 ),
         new dx7_patch( 0x5b, 0x1c, 0x18, 0x35, 0x63, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x3b, 0x08, 0x59, 0x0a,
            0x00, 0x34, 0x17, 0x18, 0x35, 0x60, 0x1b, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x04, 0x3b, 0x0c, 0x3d,
            0x02, 0x00, 0x5b, 0x1c, 0x18, 0x35, 0x63, 0x1b, 0x00, 0x00, 0x14, 0x00, 0x00, 0x04, 0x3b, 0x08,
            0x3f, 0x06, 0x00, 0x4b, 0x1c, 0x18, 0x42, 0x63, 0x1b, 0x00, 0x00, 0x19, 0x00, 0x00, 0x0a, 0x3b,
            0x04, 0x55, 0x02, 0x00, 0x5b, 0x1c, 0x18, 0x35, 0x63, 0x1b, 0x00, 0x00, 0x14, 0x00, 0x00, 0x04,
            0x4b, 0x04, 0x4b, 0x02, 0x00, 0x4b, 0x1c, 0x18, 0x42, 0x63, 0x1b, 0x00, 0x00, 0x19, 0x00, 0x00,
            0x0a, 0x3b, 0x0c, 0x56, 0x02, 0x00, 0x63, 0x62, 0x4b, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x0d, 0x04,
            0x27, 0x55, 0x01, 0x00, 0x18, 0x0c, 0x47, 0x55, 0x49, 0x54, 0x41, 0x52, 0x20, 0x20, 0x33, 0x20 ),
         new dx7_patch( 0x5b, 0x1c, 0x18, 0x35, 0x63, 0x1b, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x3b, 0x08, 0x4a, 0x0a,
            0x00, 0x34, 0x17, 0x18, 0x35, 0x60, 0x1b, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x04, 0x3b, 0x0c, 0x3d,
            0x02, 0x00, 0x5b, 0x1c, 0x18, 0x35, 0x63, 0x1b, 0x00, 0x00, 0x14, 0x00, 0x00, 0x04, 0x3b, 0x08,
            0x3f, 0x06, 0x00, 0x4b, 0x1c, 0x18, 0x42, 0x63, 0x1b, 0x00, 0x00, 0x19, 0x00, 0x00, 0x0a, 0x3b,
            0x04, 0x63, 0x02, 0x00, 0x5b, 0x62, 0x18, 0x35, 0x63, 0x1b, 0x00, 0x00, 0x14, 0x00, 0x00, 0x04,
            0x4b, 0x04, 0x60, 0x36, 0x00, 0x4b, 0x4f, 0x18, 0x42, 0x63, 0x1b, 0x00, 0x00, 0x19, 0x00, 0x00,
            0x0a, 0x3b, 0x0c, 0x58, 0x02, 0x00, 0x62, 0x62, 0x4b, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x0d, 0x04,
            0x27, 0x55, 0x01, 0x00, 0x18, 0x18, 0x53, 0x50, 0x41, 0x4e, 0x49, 0x53, 0x48, 0x47, 0x54, 0x52 ),
         new dx7_patch( 0x60, 0x46, 0x1a, 0x30, 0x63, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x04, 0x40, 0x00, 0x48, 0x0c,
            0x00, 0x63, 0x21, 0x1a, 0x47, 0x63, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x04, 0x38, 0x00, 0x3c,
            0x08, 0x00, 0x63, 0x22, 0x1a, 0x47, 0x63, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x04, 0x54, 0x00,
            0x25, 0x04, 0x00, 0x53, 0x22, 0x00, 0x26, 0x63, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x04, 0x3c,
            0x00, 0x63, 0x02, 0x00, 0x63, 0x22, 0x1a, 0x47, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
            0x3c, 0x00, 0x49, 0x04, 0x00, 0x53, 0x22, 0x00, 0x26, 0x63, 0x00, 0x00, 0x00, 0x27, 0x00, 0x46,
            0x00, 0x3c, 0x00, 0x54, 0x02, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x0d, 0x0f,
            0x1b, 0x00, 0x01, 0x00, 0x40, 0x18, 0x4c, 0x55, 0x54, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 ),
         new dx7_patch( 0x60, 0x59, 0x1a, 0x2e, 0x63, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x04, 0x40, 0x10, 0x54, 0x0c,
            0x00, 0x63, 0x38, 0x1a, 0x2a, 0x63, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x38, 0x04, 0x38, 0x14, 0x53,
            0x0a, 0x00, 0x63, 0x22, 0x1a, 0x27, 0x63, 0x00, 0x00, 0x00, 0x54, 0x0e, 0x63, 0x01, 0x3a, 0x14,
            0x52, 0x04, 0x00, 0x53, 0x22, 0x00, 0x2e, 0x63, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x1c, 0x04, 0x61,
            0x18, 0x63, 0x02, 0x00, 0x63, 0x3c, 0x1a, 0x47, 0x63, 0x00, 0x00, 0x00, 0x63, 0x56, 0x63, 0x05,
            0x3a, 0x18, 0x50, 0x04, 0x00, 0x53, 0x23, 0x00, 0x27, 0x63, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x1c,
            0x04, 0x3a, 0x1c, 0x60, 0x02, 0x00, 0x62, 0x62, 0x62, 0x62, 0x32, 0x32, 0x32, 0x32, 0x0d, 0x0f,
            0x1b, 0x00, 0x01, 0x00, 0x30, 0x18, 0x48, 0x41, 0x52, 0x50, 0x20, 0x20, 0x20, 0x20, 0x31, 0x20 ),
         new dx7_patch( 0x60, 0x21, 0x00, 0x63, 0x63, 0x4f, 0x00, 0x00, 0x27, 0x0d, 0x20, 0x03, 0x3e, 0x04, 0x51, 0x14,
            0x00, 0x60, 0x19, 0x00, 0x63, 0x63, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x14, 0x2c,
            0x02, 0x00, 0x60, 0x17, 0x03, 0x1a, 0x63, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x0c,
            0x4a, 0x02, 0x00, 0x60, 0x18, 0x0d, 0x31, 0x63, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d,
            0x14, 0x63, 0x02, 0x00, 0x62, 0x63, 0x00, 0x5a, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x38, 0x00, 0x00, 0x02, 0x00, 0x62, 0x63, 0x00, 0x5a, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x38, 0x00, 0x00, 0x02, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x07, 0x07,
            0x33, 0x00, 0x00, 0x00, 0x30, 0x18, 0x46, 0x42, 0x3a, 0x50, 0x6c, 0x75, 0x63, 0x6b, 0x47, 0x74 ),
         new dx7_patch( 0x5e, 0x4a, 0x19, 0x2a, 0x63, 0x57, 0x23, 0x00, 0x27, 0x30, 0x00, 0x00, 0x3a, 0x04, 0x4d, 0x02,
            0x00, 0x5e, 0x50, 0x27, 0x2a, 0x63, 0x57, 0x00, 0x00, 0x32, 0x12, 0x63, 0x03, 0x3a, 0x1c, 0x4e,
            0x16, 0x00, 0x5a, 0x23, 0x0e, 0x32, 0x63, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x10,
            0x4f, 0x02, 0x00, 0x5e, 0x50, 0x35, 0x2a, 0x63, 0x5f, 0x37, 0x00, 0x22, 0x12, 0x15, 0x03, 0x3a,
            0x18, 0x4c, 0x1a, 0x00, 0x5a, 0x4c, 0x1a, 0x34, 0x63, 0x5e, 0x4c, 0x00, 0x3c, 0x00, 0x32, 0x00,
            0x3a, 0x10, 0x4e, 0x04, 0x00, 0x5a, 0x4e, 0x18, 0x31, 0x63, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x3a, 0x14, 0x63, 0x02, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x0a, 0x0e,
            0x12, 0x00, 0x00, 0x00, 0x01, 0x18, 0x4c, 0x4f, 0x54, 0x55, 0x53, 0x20, 0x20, 0x20, 0x20, 0x20 ),
         new dx7_patch( 0x63, 0x36, 0x16, 0x5a, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x5e, 0x06,
            0x00, 0x63, 0x50, 0x16, 0x5a, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x5e,
            0x02, 0x00, 0x63, 0x50, 0x16, 0x5a, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00,
            0x5e, 0x00, 0x00, 0x63, 0x50, 0x36, 0x52, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58,
            0x00, 0x5e, 0x02, 0x32, 0x63, 0x14, 0x16, 0x5a, 0x63, 0x63, 0x61, 0x00, 0x00, 0x00, 0x0a, 0x00,
            0x08, 0x00, 0x5e, 0x02, 0x01, 0x63, 0x50, 0x16, 0x5a, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x28, 0x00, 0x5e, 0x00, 0x00, 0x4b, 0x50, 0x4b, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x1f, 0x08,
            0x23, 0x00, 0x00, 0x00, 0x40, 0x18, 0x45, 0x2e, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x20, 0x31, 0x20 ),
         new dx7_patch( 0x5e, 0x50, 0x16, 0x5a, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x60, 0x02,
            0x32, 0x5e, 0x50, 0x16, 0x5a, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x60,
            0x02, 0x00, 0x5e, 0x50, 0x16, 0x5a, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00,
            0x60, 0x00, 0x00, 0x5b, 0x50, 0x36, 0x52, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58,
            0x00, 0x60, 0x02, 0x32, 0x5e, 0x14, 0x16, 0x5a, 0x63, 0x63, 0x61, 0x00, 0x00, 0x00, 0x0a, 0x00,
            0x08, 0x00, 0x63, 0x02, 0x01, 0x5e, 0x50, 0x16, 0x5a, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x28, 0x00, 0x63, 0x00, 0x00, 0x4b, 0x50, 0x4b, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x1f, 0x08,
            0x09, 0x62, 0x0d, 0x26, 0x18, 0x18, 0x48, 0x41, 0x4d, 0x4d, 0x20, 0x4f, 0x52, 0x47, 0x37, 0x20 ),
         new dx7_patch( 0x63, 0x38, 0x00, 0x63, 0x63, 0x00, 0x00, 0x00, 0x27, 0x63, 0x63, 0x0c, 0x3b, 0x00, 0x63, 0x12,
            0x00, 0x63, 0x2a, 0x47, 0x63, 0x63, 0x63, 0x63, 0x00, 0x0f, 0x00, 0x00, 0x04, 0x3b, 0x00, 0x63,
            0x00, 0x00, 0x63, 0x2a, 0x47, 0x63, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x04, 0x3b, 0x01,
            0x63, 0x02, 0x63, 0x63, 0x2a, 0x47, 0x63, 0x63, 0x63, 0x63, 0x00, 0x0f, 0x00, 0x00, 0x04, 0x3b,
            0x00, 0x63, 0x02, 0x01, 0x63, 0x2a, 0x47, 0x63, 0x63, 0x63, 0x63, 0x00, 0x0f, 0x00, 0x00, 0x04,
            0x33, 0x00, 0x63, 0x02, 0x00, 0x63, 0x2a, 0x47, 0x63, 0x63, 0x63, 0x63, 0x00, 0x0f, 0x00, 0x00,
            0x04, 0x3b, 0x00, 0x63, 0x00, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x1f, 0x08,
            0x2e, 0x00, 0x00, 0x63, 0x19, 0x18, 0x43, 0x4c, 0x49, 0x43, 0x2e, 0x4f, 0x52, 0x47, 0x44, 0x57 ),
         new dx7_patch( 0x63, 0x2a, 0x03, 0x49, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0c, 0x58, 0x06,
            0x00, 0x63, 0x39, 0x2d, 0x42, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0c, 0x58,
            0x0c, 0x00, 0x63, 0x63, 0x03, 0x42, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0c,
            0x63, 0x02, 0x00, 0x63, 0x63, 0x03, 0x42, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32,
            0x0c, 0x63, 0x04, 0x00, 0x62, 0x2a, 0x03, 0x49, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x32, 0x0c, 0x58, 0x0c, 0x00, 0x62, 0x63, 0x03, 0x42, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x32, 0x0c, 0x58, 0x08, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x1f, 0x03,
            0x2f, 0x00, 0x00, 0x00, 0x30, 0x18, 0x4a, 0x4f, 0x72, 0x67, 0x20, 0x43, 0x6f, 0x6d, 0x62, 0x6f ),
         new dx7_patch( 0x3f, 0x0f, 0x62, 0x2e, 0x62, 0x63, 0x62, 0x00, 0x0f, 0x00, 0x0e, 0x04, 0x4c, 0x14, 0x51, 0x10,
            0x00, 0x33, 0x0f, 0x62, 0x2e, 0x61, 0x63, 0x62, 0x00, 0x28, 0x30, 0x06, 0x00, 0x34, 0x00, 0x57,
            0x08, 0x00, 0x3b, 0x0f, 0x62, 0x4d, 0x62, 0x63, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x14,
            0x3e, 0x0e, 0x00, 0x3b, 0x0f, 0x62, 0x33, 0x62, 0x63, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34,
            0x00, 0x5b, 0x02, 0x00, 0x63, 0x50, 0x62, 0x2e, 0x61, 0x63, 0x62, 0x00, 0x0f, 0x00, 0x32, 0x04,
            0x3c, 0x00, 0x5e, 0x00, 0x00, 0x33, 0x0f, 0x62, 0x2e, 0x61, 0x63, 0x62, 0x00, 0x0b, 0x4e, 0x0e,
            0x07, 0x3a, 0x00, 0x63, 0x00, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x04, 0x0d,
            0x24, 0x00, 0x00, 0x00, 0x30, 0x18, 0x50, 0x49, 0x50, 0x45, 0x53, 0x20, 0x20, 0x20, 0x20, 0x41 ),
         new dx7_patch( 0x59, 0x50, 0x16, 0x41, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x3c, 0x04, 0x38, 0x00, 0x3a, 0x08,
            0x01, 0x58, 0x44, 0x16, 0x4b, 0x3c, 0x63, 0x63, 0x00, 0x00, 0x00, 0x32, 0x04, 0x38, 0x00, 0x50,
            0x10, 0x01, 0x49, 0x50, 0x16, 0x32, 0x4f, 0x63, 0x63, 0x00, 0x00, 0x00, 0x14, 0x00, 0x30, 0x00,
            0x62, 0x04, 0x01, 0x4c, 0x50, 0x16, 0x3f, 0x63, 0x63, 0x63, 0x00, 0x23, 0x0d, 0x0f, 0x00, 0x3c,
            0x00, 0x57, 0x02, 0x01, 0x63, 0x63, 0x39, 0x40, 0x39, 0x34, 0x63, 0x00, 0x00, 0x00, 0x1e, 0x00,
            0x38, 0x00, 0x63, 0x08, 0x01, 0x4d, 0x50, 0x4a, 0x30, 0x63, 0x61, 0x63, 0x00, 0x23, 0x0d, 0x0a,
            0x03, 0x3a, 0x00, 0x63, 0x00, 0x00, 0x5e, 0x03, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x18, 0x03,
            0x23, 0x3f, 0x00, 0x00, 0x18, 0x18, 0x50, 0x49, 0x50, 0x45, 0x53, 0x20, 0x20, 0x20, 0x33, 0x20 ),
         new dx7_patch( 0x61, 0x63, 0x3e, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x17, 0x00, 0x0c,
            0x00, 0x61, 0x26, 0x29, 0x63, 0x63, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0x1c, 0x3d,
            0x12, 0x00, 0x3b, 0x29, 0x22, 0x47, 0x63, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1c,
            0x36, 0x12, 0x00, 0x3b, 0x00, 0x00, 0x47, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d,
            0x00, 0x4b, 0x00, 0x00, 0x3b, 0x63, 0x16, 0x47, 0x56, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x65, 0x14, 0x3e, 0x06, 0x00, 0x61, 0x21, 0x1c, 0x47, 0x63, 0x5e, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x48, 0x08, 0x63, 0x02, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x10, 0x0f,
            0x23, 0x00, 0x00, 0x00, 0x31, 0x18, 0x45, 0x2e, 0x42, 0x41, 0x53, 0x53, 0x20, 0x46, 0x69, 0x78 ),
         new dx7_patch( 0x5e, 0x38, 0x18, 0x37, 0x5d, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0x1c, 0x55, 0x12,
            0x00, 0x63, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x34, 0x4b, 0x00, 0x00, 0x3f, 0x0c, 0x3e,
            0x00, 0x00, 0x5a, 0x2a, 0x07, 0x37, 0x5a, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0x14,
            0x5d, 0x0a, 0x00, 0x58, 0x60, 0x20, 0x1e, 0x4f, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e,
            0x0c, 0x63, 0x00, 0x00, 0x63, 0x14, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00,
            0x3f, 0x00, 0x50, 0x00, 0x00, 0x5f, 0x3e, 0x11, 0x3a, 0x63, 0x5f, 0x20, 0x00, 0x24, 0x39, 0x0e,
            0x03, 0x3f, 0x00, 0x63, 0x00, 0x00, 0x5e, 0x43, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x0f, 0x0f,
            0x23, 0x00, 0x00, 0x00, 0x30, 0x0c, 0x42, 0x41, 0x53, 0x53, 0x20, 0x20, 0x20, 0x20, 0x31, 0x20 ),
         new dx7_patch( 0x19, 0x32, 0x18, 0x37, 0x60, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1c, 0x57, 0x00,
            0x00, 0x63, 0x33, 0x00, 0x00, 0x63, 0x4a, 0x00, 0x00, 0x22, 0x00, 0x20, 0x00, 0x3c, 0x08, 0x4b,
            0x02, 0x01, 0x50, 0x27, 0x1c, 0x35, 0x5d, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x08,
            0x63, 0x00, 0x00, 0x49, 0x19, 0x20, 0x1e, 0x61, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73,
            0x0c, 0x44, 0x02, 0x00, 0x1c, 0x25, 0x2a, 0x32, 0x63, 0x00, 0x00, 0x00, 0x29, 0x00, 0x23, 0x00,
            0x39, 0x08, 0x50, 0x00, 0x03, 0x4b, 0x25, 0x12, 0x3f, 0x63, 0x46, 0x00, 0x00, 0x30, 0x00, 0x20,
            0x00, 0x3b, 0x08, 0x63, 0x00, 0x01, 0x5e, 0x43, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x10, 0x07,
            0x1f, 0x21, 0x00, 0x00, 0x28, 0x0c, 0x42, 0x41, 0x53, 0x53, 0x20, 0x20, 0x20, 0x20, 0x32, 0x20 ),
         new dx7_patch( 0x62, 0x2b, 0x63, 0x3c, 0x63, 0x00, 0x00, 0x00, 0x14, 0x00, 0x0e, 0x00, 0x38, 0x04, 0x60, 0x00,
            0x00, 0x62, 0x2a, 0x63, 0x3c, 0x63, 0x00, 0x00, 0x00, 0x14, 0x00, 0x28, 0x00, 0x38, 0x00, 0x48,
            0x04, 0x00, 0x62, 0x15, 0x63, 0x3c, 0x63, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x38, 0x00,
            0x63, 0x02, 0x00, 0x62, 0x63, 0x63, 0x5a, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38,
            0x00, 0x00, 0x02, 0x00, 0x62, 0x63, 0x63, 0x5a, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x38, 0x00, 0x00, 0x02, 0x00, 0x62, 0x63, 0x63, 0x5a, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x38, 0x00, 0x00, 0x02, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x0a, 0x0c,
            0x06, 0x00, 0x10, 0x1d, 0x18, 0x18, 0x46, 0x55, 0x4e, 0x4b, 0x20, 0x42, 0x41, 0x53, 0x53, 0x20 ),
         new dx7_patch( 0x4e, 0x4b, 0x34, 0x37, 0x63, 0x49, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x03, 0x39, 0x1c, 0x5b, 0x16,
            0x00, 0x5e, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x1d, 0x1c, 0x63, 0x00, 0x3f, 0x0c, 0x41,
            0x02, 0x00, 0x42, 0x2e, 0x2d, 0x37, 0x63, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x14,
            0x5d, 0x0e, 0x00, 0x3a, 0x41, 0x0a, 0x1e, 0x63, 0x48, 0x00, 0x00, 0x32, 0x12, 0x00, 0x00, 0x3e,
            0x14, 0x58, 0x06, 0x00, 0x28, 0x3c, 0x36, 0x24, 0x3b, 0x63, 0x5a, 0x00, 0x1a, 0x00, 0x00, 0x00,
            0x3f, 0x04, 0x55, 0x00, 0x00, 0x35, 0x53, 0x11, 0x3e, 0x41, 0x63, 0x00, 0x00, 0x24, 0x39, 0x0e,
            0x03, 0x3d, 0x08, 0x63, 0x00, 0x00, 0x5e, 0x43, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x0f, 0x08,
            0x23, 0x00, 0x00, 0x00, 0x30, 0x0c, 0x46, 0x55, 0x4e, 0x4b, 0x2d, 0x42, 0x41, 0x53, 0x53, 0x31 ),
         new dx7_patch( 0x63, 0x2e, 0x00, 0x21, 0x63, 0x5d, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x36, 0x08,
            0x00, 0x63, 0x2e, 0x00, 0x20, 0x63, 0x5d, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x4f,
            0x02, 0x00, 0x63, 0x2e, 0x00, 0x2c, 0x63, 0x5d, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00,
            0x54, 0x02, 0x00, 0x63, 0x21, 0x1f, 0x2c, 0x63, 0x5c, 0x00, 0x00, 0x33, 0x00, 0x0a, 0x00, 0x50,
            0x0c, 0x63, 0x01, 0x26, 0x63, 0x2e, 0x00, 0x2b, 0x63, 0x5d, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x68, 0x00, 0x54, 0x04, 0x00, 0x63, 0x21, 0x1f, 0x2c, 0x63, 0x5c, 0x00, 0x00, 0x33, 0x00, 0x0a,
            0x08, 0x48, 0x10, 0x63, 0x01, 0x38, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x01, 0x0f,
            0x26, 0x14, 0x05, 0x00, 0x28, 0x18, 0x61, 0x2d, 0x68, 0x61, 0x20, 0x54, 0x4f, 0x4d, 0x20, 0x20 ),
         new dx7_patch( 0x62, 0x03, 0x00, 0x2e, 0x63, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x04, 0x52, 0x02,
            0x00, 0x62, 0x0f, 0x00, 0x11, 0x63, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x04, 0x46,
            0x02, 0x00, 0x62, 0x08, 0x00, 0x1b, 0x63, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
            0x50, 0x02, 0x00, 0x62, 0x11, 0x00, 0x31, 0x63, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38,
            0x08, 0x63, 0x01, 0x00, 0x62, 0x1e, 0x00, 0x27, 0x63, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x70, 0x08, 0x54, 0x02, 0x00, 0x62, 0x63, 0x63, 0x37, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x38, 0x08, 0x63, 0x01, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x01, 0x07,
            0x23, 0x00, 0x00, 0x00, 0x31, 0x18, 0x53, 0x4b, 0x49, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 ),
         new dx7_patch( 0x3a, 0x4c, 0x0a, 0x1c, 0x63, 0x5c, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x56, 0x02,
            0x00, 0x38, 0x49, 0x0a, 0x2d, 0x63, 0x5f, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x52,
            0x02, 0x00, 0x2f, 0x4a, 0x0a, 0x31, 0x63, 0x62, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00,
            0x4c, 0x02, 0x00, 0x63, 0x0f, 0x0a, 0x33, 0x63, 0x5c, 0x5c, 0x00, 0x1b, 0x14, 0x00, 0x03, 0x68,
            0x00, 0x63, 0x02, 0x00, 0x42, 0x0d, 0x07, 0x2d, 0x63, 0x63, 0x63, 0x00, 0x0f, 0x07, 0x00, 0x00,
            0x08, 0x00, 0x51, 0x02, 0x00, 0x63, 0x38, 0x0a, 0x33, 0x62, 0x62, 0x62, 0x00, 0x1b, 0x14, 0x00,
            0x03, 0x08, 0x00, 0x63, 0x02, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x01, 0x07,
            0x1c, 0x16, 0x00, 0x00, 0x18, 0x18, 0x4a, 0x55, 0x4d, 0x50, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 ),
         new dx7_patch( 0x2f, 0x15, 0x21, 0x1f, 0x51, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x5e, 0x02,
            0x00, 0x2d, 0x18, 0x20, 0x26, 0x51, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x51,
            0x02, 0x00, 0x2d, 0x17, 0x20, 0x0b, 0x51, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00,
            0x46, 0x02, 0x00, 0x30, 0x38, 0x0a, 0x2d, 0x63, 0x63, 0x61, 0x00, 0x19, 0x00, 0x05, 0x00, 0x70,
            0x00, 0x63, 0x02, 0x00, 0x2d, 0x17, 0x1f, 0x1a, 0x51, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x54, 0x02, 0x00, 0x3c, 0x37, 0x0a, 0x2d, 0x63, 0x63, 0x61, 0x00, 0x19, 0x00, 0x05,
            0x00, 0x00, 0x00, 0x63, 0x02, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x01, 0x0f,
            0x0c, 0x3e, 0x0a, 0x00, 0x29, 0x0c, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x20, 0x45, 0x47, 0x20 ),
         new dx7_patch( 0x62, 0x63, 0x63, 0x28, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x4a, 0x02,
            0x00, 0x62, 0x63, 0x63, 0x28, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x47,
            0x02, 0x00, 0x62, 0x63, 0x63, 0x28, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x03,
            0x4a, 0x02, 0x00, 0x62, 0x63, 0x63, 0x34, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38,
            0x00, 0x63, 0x01, 0x00, 0x62, 0x63, 0x63, 0x28, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x70, 0x03, 0x4f, 0x04, 0x00, 0x62, 0x63, 0x63, 0x34, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x38, 0x00, 0x63, 0x01, 0x0e, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x01, 0x07,
            0x23, 0x00, 0x00, 0x00, 0x31, 0x18, 0x2d, 0x2d, 0x41, 0x4e, 0x41, 0x4c, 0x4f, 0x47, 0x2d, 0x2d ),
         new dx7_patch( 0x55, 0x3f, 0x18, 0x19, 0x63, 0x60, 0x5c, 0x00, 0x36, 0x00, 0x00, 0x00, 0x33, 0x04, 0x51, 0x10,
            0x00, 0x63, 0x3c, 0x27, 0x2d, 0x63, 0x60, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x39, 0x08, 0x63,
            0x08, 0x00, 0x25, 0x20, 0x18, 0x24, 0x63, 0x60, 0x5c, 0x00, 0x36, 0x00, 0x00, 0x00, 0x2b, 0x08,
            0x55, 0x04, 0x00, 0x63, 0x22, 0x14, 0x23, 0x63, 0x5c, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
            0x00, 0x4f, 0x08, 0x00, 0x63, 0x2e, 0x00, 0x1c, 0x63, 0x5d, 0x57, 0x00, 0x63, 0x00, 0x00, 0x00,
            0x09, 0x08, 0x58, 0x04, 0x00, 0x2f, 0x21, 0x14, 0x23, 0x63, 0x5c, 0x54, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x02, 0x04, 0x63, 0x29, 0x1f, 0x5e, 0x43, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x12, 0x0f,
            0x26, 0x21, 0x11, 0x47, 0x28, 0x0c, 0x4f, 0x52, 0x43, 0x48, 0x45, 0x53, 0x54, 0x52, 0x41, 0x4c ),
         new dx7_patch( 0x63, 0x2a, 0x17, 0x47, 0x63, 0x38, 0x38, 0x00, 0x1b, 0x00, 0x2d, 0x07, 0x38, 0x00, 0x4c, 0x04,
            0x00, 0x63, 0x4c, 0x63, 0x47, 0x63, 0x58, 0x60, 0x00, 0x27, 0x00, 0x0e, 0x0f, 0x38, 0x00, 0x62,
            0x02, 0x00, 0x63, 0x4c, 0x63, 0x47, 0x63, 0x58, 0x60, 0x00, 0x27, 0x00, 0x0e, 0x0f, 0x38, 0x00,
            0x63, 0x02, 0x00, 0x63, 0x4c, 0x63, 0x47, 0x63, 0x58, 0x60, 0x00, 0x27, 0x00, 0x0e, 0x0f, 0x38,
            0x00, 0x63, 0x02, 0x00, 0x63, 0x2a, 0x17, 0x47, 0x63, 0x38, 0x38, 0x00, 0x1b, 0x00, 0x2d, 0x07,
            0x38, 0x00, 0x4e, 0x04, 0x00, 0x63, 0x4c, 0x63, 0x47, 0x63, 0x58, 0x60, 0x00, 0x27, 0x00, 0x0e,
            0x0f, 0x38, 0x00, 0x5d, 0x02, 0x00, 0x54, 0x5f, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x15, 0x0f,
            0x25, 0x00, 0x00, 0x00, 0x38, 0x18, 0x53, 0x59, 0x4e, 0x2d, 0x4c, 0x45, 0x41, 0x44, 0x20, 0x32 ),
         new dx7_patch( 0x63, 0x2a, 0x2d, 0x47, 0x63, 0x38, 0x38, 0x00, 0x1b, 0x00, 0x2d, 0x07, 0x38, 0x00, 0x4c, 0x02,
            0x00, 0x63, 0x4c, 0x63, 0x47, 0x63, 0x58, 0x60, 0x00, 0x27, 0x00, 0x0e, 0x0f, 0x38, 0x00, 0x62,
            0x02, 0x00, 0x63, 0x4c, 0x63, 0x47, 0x63, 0x58, 0x60, 0x00, 0x27, 0x00, 0x0e, 0x0f, 0x38, 0x00,
            0x63, 0x02, 0x00, 0x63, 0x4c, 0x63, 0x47, 0x63, 0x58, 0x60, 0x00, 0x27, 0x00, 0x0e, 0x0f, 0x38,
            0x00, 0x63, 0x02, 0x00, 0x63, 0x2a, 0x35, 0x47, 0x63, 0x38, 0x38, 0x00, 0x1b, 0x00, 0x2d, 0x07,
            0x38, 0x00, 0x4e, 0x02, 0x00, 0x63, 0x4c, 0x63, 0x47, 0x63, 0x58, 0x60, 0x00, 0x27, 0x00, 0x0e,
            0x0f, 0x38, 0x00, 0x5d, 0x02, 0x00, 0x54, 0x5f, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x15, 0x0f,
            0x25, 0x00, 0x00, 0x00, 0x48, 0x18, 0x53, 0x59, 0x4e, 0x2d, 0x4c, 0x45, 0x41, 0x44, 0x20, 0x34 ),
         new dx7_patch( 0x48, 0x3c, 0x63, 0x17, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x04, 0x4c, 0x02,
            0x00, 0x20, 0x00, 0x00, 0x1a, 0x63, 0x63, 0x63, 0x00, 0x3f, 0x28, 0x00, 0x00, 0x38, 0x00, 0x50,
            0x01, 0x48, 0x38, 0x0e, 0x00, 0x35, 0x63, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x0c,
            0x63, 0x01, 0x02, 0x63, 0x2e, 0x00, 0x1c, 0x63, 0x5d, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
            0x04, 0x38, 0x02, 0x00, 0x63, 0x2e, 0x00, 0x1c, 0x63, 0x5d, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x50, 0x08, 0x57, 0x02, 0x00, 0x2e, 0x21, 0x14, 0x2b, 0x63, 0x5c, 0x54, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x38, 0x10, 0x63, 0x01, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x0a, 0x0f,
            0x23, 0x00, 0x32, 0x00, 0x11, 0x18, 0x43, 0x72, 0x61, 0x7a, 0x79, 0x34, 0x55, 0x20, 0x20, 0x31 ),
         new dx7_patch( 0x5c, 0x00, 0x1d, 0x0a, 0x63, 0x5d, 0x00, 0x00, 0x27, 0x14, 0x07, 0x0f, 0x60, 0x01, 0x43, 0x06,
            0x00, 0x49, 0x01, 0x0a, 0x00, 0x63, 0x47, 0x00, 0x00, 0x23, 0x08, 0x0a, 0x00, 0x00, 0x00, 0x4a,
            0x02, 0x00, 0x47, 0x0a, 0x0a, 0x2a, 0x63, 0x5c, 0x00, 0x00, 0x31, 0x06, 0x0c, 0x0c, 0x20, 0x00,
            0x43, 0x02, 0x01, 0x2e, 0x0b, 0x01, 0x2a, 0x63, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
            0x04, 0x61, 0x02, 0x00, 0x40, 0x07, 0x0a, 0x20, 0x63, 0x4e, 0x00, 0x00, 0x29, 0x04, 0x05, 0x0f,
            0x70, 0x00, 0x4a, 0x02, 0x01, 0x2e, 0x1b, 0x03, 0x2a, 0x63, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x28, 0x04, 0x61, 0x29, 0x24, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x01, 0x0f,
            0x2f, 0x22, 0x06, 0x04, 0x19, 0x18, 0x42, 0x4f, 0x4d, 0x42, 0x41, 0x53, 0x54, 0x20, 0x31, 0x44 ),
         new dx7_patch( 0x63, 0x3f, 0x1e, 0x00, 0x63, 0x5f, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x74, 0x07, 0x55, 0x10,
            0x00, 0x63, 0x27, 0x24, 0x1f, 0x63, 0x5f, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x71, 0x00, 0x41,
            0x10, 0x00, 0x63, 0x3a, 0x35, 0x00, 0x63, 0x58, 0x5c, 0x00, 0x23, 0x00, 0x00, 0x00, 0x71, 0x01,
            0x55, 0x02, 0x00, 0x63, 0x63, 0x13, 0x27, 0x63, 0x63, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0c, 0x72,
            0x09, 0x63, 0x02, 0x00, 0x63, 0x30, 0x1e, 0x10, 0x63, 0x5c, 0x00, 0x00, 0x16, 0x00, 0x00, 0x01,
            0x50, 0x14, 0x63, 0x00, 0x00, 0x5d, 0x0e, 0x0a, 0x2d, 0x63, 0x5b, 0x00, 0x00, 0x11, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x63, 0x02, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x00, 0x0f,
            0x27, 0x00, 0x00, 0x00, 0x20, 0x0c, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x20, 0x20, 0x32, 0x20 ),
         new dx7_patch( 0x5f, 0x30, 0x1c, 0x18, 0x5e, 0x4f, 0x00, 0x00, 0x3c, 0x36, 0x00, 0x01, 0x47, 0x0c, 0x59, 0x06,
            0x00, 0x5f, 0x23, 0x17, 0x1c, 0x63, 0x46, 0x00, 0x00, 0x34, 0x00, 0x23, 0x03, 0x5c, 0x10, 0x4f,
            0x06, 0x00, 0x4a, 0x63, 0x17, 0x27, 0x51, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x14,
            0x63, 0x02, 0x00, 0x5f, 0x32, 0x2d, 0x0a, 0x63, 0x63, 0x00, 0x00, 0x3a, 0x00, 0x25, 0x00, 0x0b,
            0x00, 0x5b, 0x04, 0x00, 0x5f, 0x2e, 0x20, 0x0c, 0x63, 0x63, 0x00, 0x00, 0x34, 0x08, 0x00, 0x03,
            0x2b, 0x0c, 0x4c, 0x04, 0x00, 0x20, 0x5f, 0x1d, 0x25, 0x41, 0x63, 0x00, 0x00, 0x3c, 0x00, 0x00,
            0x00, 0x65, 0x14, 0x63, 0x02, 0x00, 0x5e, 0x43, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x02, 0x0e,
            0x22, 0x21, 0x00, 0x00, 0x19, 0x18, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x48, 0x41, 0x52, 0x50 ),
         new dx7_patch( 0x2d, 0x63, 0x29, 0x2b, 0x45, 0x63, 0x00, 0x00, 0x2e, 0x63, 0x00, 0x03, 0x38, 0x08, 0x4b, 0x08,
            0x00, 0x2d, 0x63, 0x29, 0x2b, 0x45, 0x63, 0x00, 0x00, 0x2e, 0x5a, 0x00, 0x03, 0x38, 0x04, 0x5e,
            0x04, 0x00, 0x63, 0x2d, 0x18, 0x1e, 0x63, 0x63, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x3b, 0x00,
            0x4b, 0x02, 0x00, 0x63, 0x2d, 0x18, 0x1e, 0x63, 0x63, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x73,
            0x00, 0x53, 0x02, 0x00, 0x63, 0x2d, 0x18, 0x1e, 0x63, 0x63, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
            0x3b, 0x08, 0x55, 0x02, 0x00, 0x63, 0x2d, 0x18, 0x1e, 0x63, 0x63, 0x00, 0x00, 0x20, 0x00, 0x00,
            0x00, 0x0b, 0x00, 0x60, 0x02, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x1f, 0x0c,
            0x00, 0x00, 0x00, 0x00, 0x70, 0x24, 0x43, 0x45, 0x4c, 0x45, 0x53, 0x54, 0x41, 0x20, 0x20, 0x20 ),
         new dx7_patch( 0x3a, 0x09, 0x12, 0x16, 0x63, 0x34, 0x39, 0x00, 0x23, 0x00, 0x00, 0x00, 0x01, 0x00, 0x4e, 0x00,
            0x00, 0x2a, 0x24, 0x00, 0x1d, 0x63, 0x63, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x03, 0x00, 0x63,
            0x00, 0x00, 0x63, 0x30, 0x1a, 0x2a, 0x63, 0x51, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x18, 0x08,
            0x4b, 0x12, 0x00, 0x59, 0x20, 0x22, 0x21, 0x63, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51,
            0x00, 0x63, 0x04, 0x00, 0x37, 0x1a, 0x24, 0x2a, 0x63, 0x5d, 0x4b, 0x00, 0x2e, 0x00, 0x0f, 0x00,
            0x71, 0x04, 0x55, 0x00, 0x00, 0x39, 0x63, 0x63, 0x24, 0x63, 0x63, 0x63, 0x00, 0x31, 0x63, 0x00,
            0x00, 0x71, 0x00, 0x63, 0x00, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x05, 0x08,
            0x27, 0x16, 0x05, 0x00, 0x31, 0x18, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x20, 0x20, 0x33, 0x20 ),
         new dx7_patch( 0x63, 0x52, 0x4b, 0x00, 0x63, 0x57, 0x00, 0x00, 0x29, 0x1e, 0x00, 0x00, 0x38, 0x04, 0x63, 0x3f,
            0x29, 0x63, 0x40, 0x00, 0x08, 0x55, 0x30, 0x00, 0x00, 0x25, 0x00, 0x19, 0x00, 0x38, 0x10, 0x54,
            0x06, 0x00, 0x5a, 0x43, 0x15, 0x52, 0x63, 0x55, 0x00, 0x00, 0x12, 0x00, 0x02, 0x04, 0x38, 0x10,
            0x4e, 0x0e, 0x00, 0x63, 0x1e, 0x1a, 0x2e, 0x63, 0x50, 0x00, 0x00, 0x22, 0x17, 0x00, 0x03, 0x38,
            0x13, 0x52, 0x00, 0x00, 0x4b, 0x2d, 0x24, 0x13, 0x63, 0x57, 0x00, 0x00, 0x00, 0x00, 0x12, 0x03,
            0x2a, 0x18, 0x3a, 0x16, 0x02, 0x63, 0x20, 0x0e, 0x26, 0x63, 0x50, 0x00, 0x00, 0x2b, 0x63, 0x00,
            0x03, 0x3a, 0x07, 0x63, 0x01, 0x00, 0x5e, 0x43, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x0f, 0x0f,
            0x18, 0x00, 0x00, 0x00, 0x03, 0x24, 0x4b, 0x41, 0x52, 0x49, 0x4d, 0x42, 0x41, 0x21, 0x21, 0x21 ),
         new dx7_patch( 0x53, 0x33, 0x0f, 0x4f, 0x63, 0x4b, 0x00, 0x00, 0x2c, 0x01, 0x00, 0x00, 0x39, 0x0c, 0x47, 0x26,
            0x00, 0x56, 0x3d, 0x1e, 0x2d, 0x63, 0x50, 0x00, 0x00, 0x20, 0x15, 0x00, 0x03, 0x3f, 0x14, 0x56,
            0x0a, 0x00, 0x63, 0x44, 0x20, 0x28, 0x63, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x14,
            0x60, 0x00, 0x00, 0x4b, 0x39, 0x20, 0x4e, 0x59, 0x48, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x5d,
            0x04, 0x5c, 0x00, 0x32, 0x31, 0x4e, 0x18, 0x27, 0x3b, 0x5c, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
            0x3c, 0x08, 0x4f, 0x00, 0x00, 0x62, 0x47, 0x1b, 0x35, 0x41, 0x63, 0x00, 0x00, 0x24, 0x39, 0x04,
            0x03, 0x3d, 0x08, 0x63, 0x02, 0x00, 0x63, 0x63, 0x5f, 0x3c, 0x30, 0x32, 0x32, 0x32, 0x0f, 0x08,
            0x23, 0x00, 0x00, 0x00, 0x30, 0x0c, 0x47, 0x72, 0x6f, 0x77, 0x6c, 0x65, 0x72, 0x20, 0x20, 0x20 ),
         new dx7_patch( 0x61, 0x14, 0x14, 0x22, 0x63, 0x5a, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x08, 0x42, 0x0a,
            0x00, 0x1a, 0x63, 0x14, 0x21, 0x00, 0x5a, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x08, 0x54,
            0x04, 0x19, 0x61, 0x14, 0x14, 0x22, 0x63, 0x5a, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x00,
            0x43, 0x0c, 0x00, 0x11, 0x63, 0x14, 0x1a, 0x00, 0x5a, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22,
            0x04, 0x51, 0x06, 0x00, 0x61, 0x14, 0x14, 0x22, 0x63, 0x5a, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x3a, 0x04, 0x51, 0x10, 0x00, 0x61, 0x14, 0x14, 0x1a, 0x63, 0x5a, 0x50, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x3a, 0x00, 0x4b, 0x08, 0x00, 0x5e, 0x43, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x05, 0x0f,
            0x3c, 0x45, 0x00, 0x00, 0x3b, 0x18, 0x43, 0x48, 0x49, 0x4d, 0x45, 0x53, 0x20, 0x20, 0x20, 0x20 ),
         new dx7_patch( 0x3c, 0x0a, 0x00, 0x1c, 0x63, 0x50, 0x00, 0x00, 0x2e, 0x32, 0x08, 0x00, 0x72, 0x04, 0x5a, 0x01,
            0x40, 0x18, 0x06, 0x00, 0x1e, 0x63, 0x50, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x63,
            0x04, 0x00, 0x41, 0x0a, 0x00, 0x1c, 0x63, 0x50, 0x00, 0x00, 0x27, 0x22, 0x02, 0x00, 0x3a, 0x04,
            0x5a, 0x01, 0x3a, 0x1a, 0x00, 0x00, 0x21, 0x63, 0x5f, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39,
            0x10, 0x63, 0x04, 0x00, 0x3c, 0x0a, 0x00, 0x1c, 0x63, 0x50, 0x00, 0x00, 0x20, 0x38, 0x06, 0x00,
            0x02, 0x04, 0x5a, 0x01, 0x4e, 0x18, 0x06, 0x00, 0x1e, 0x63, 0x50, 0x28, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x69, 0x10, 0x63, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x32, 0x32, 0x32, 0x04, 0x08,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x53, 0x6f, 0x72, 0x74, 0x6f, 0x66, 0x76, 0x6f, 0x63, 0x65 ),
         new dx7_patch( 0x63, 0x48, 0x30, 0x11, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x42, 0x02,
            0x00, 0x23, 0x15, 0x24, 0x3f, 0x63, 0x5a, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x04, 0x2e,
            0x07, 0x2b, 0x48, 0x38, 0x29, 0x0c, 0x30, 0x43, 0x43, 0x09, 0x00, 0x00, 0x00, 0x00, 0x50, 0x04,
            0x63, 0x02, 0x02, 0x2a, 0x14, 0x35, 0x39, 0x63, 0x5e, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38,
            0x0f, 0x63, 0x02, 0x00, 0x45, 0x53, 0x50, 0x62, 0x45, 0x51, 0x60, 0x63, 0x00, 0x00, 0x00, 0x00,
            0x38, 0x00, 0x3e, 0x02, 0x00, 0x33, 0x37, 0x35, 0x40, 0x3d, 0x58, 0x55, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x03, 0x61, 0x02, 0x00, 0x12, 0x19, 0x63, 0x63, 0x31, 0x31, 0x32, 0x32, 0x00, 0x0c,
            0x27, 0x23, 0x5b, 0x02, 0x18, 0x18, 0x46, 0x45, 0x4d, 0x2e, 0x20, 0x43, 0x48, 0x4f, 0x49, 0x52 ),
         new dx7_patch( 0x48, 0x4c, 0x0a, 0x20, 0x63, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x46, 0x10,
            0x00, 0x4c, 0x49, 0x0a, 0x1c, 0x63, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x42,
            0x04, 0x00, 0x31, 0x4a, 0x0a, 0x20, 0x62, 0x62, 0x24, 0x00, 0x62, 0x00, 0x00, 0x00, 0x38, 0x00,
            0x4c, 0x04, 0x00, 0x33, 0x0f, 0x0a, 0x2f, 0x63, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68,
            0x00, 0x5c, 0x04, 0x00, 0x51, 0x0d, 0x07, 0x19, 0x63, 0x5c, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x08, 0x00, 0x4a, 0x04, 0x00, 0x30, 0x38, 0x0a, 0x2f, 0x62, 0x62, 0x24, 0x00, 0x62, 0x00, 0x00,
            0x00, 0x38, 0x00, 0x5c, 0x04, 0x00, 0x54, 0x5f, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x01, 0x0f,
            0x1e, 0x51, 0x08, 0x00, 0x28, 0x0c, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x53, 0x20, 0x32, 0x20 ),
         new dx7_patch( 0x63, 0x2a, 0x32, 0x3b, 0x63, 0x63, 0x63, 0x00, 0x21, 0x00, 0x2d, 0x03, 0x60, 0x00, 0x2c, 0x0f,
            0x1f, 0x63, 0x31, 0x37, 0x2e, 0x63, 0x5a, 0x50, 0x00, 0x26, 0x00, 0x16, 0x00, 0x52, 0x08, 0x4d,
            0x10, 0x00, 0x3d, 0x1e, 0x00, 0x23, 0x63, 0x62, 0x5a, 0x00, 0x2e, 0x04, 0x0d, 0x03, 0x3b, 0x00,
            0x57, 0x04, 0x00, 0x35, 0x12, 0x11, 0x38, 0x63, 0x5f, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32,
            0x1c, 0x63, 0x04, 0x00, 0x63, 0x00, 0x00, 0x1e, 0x63, 0x62, 0x61, 0x00, 0x27, 0x01, 0x06, 0x03,
            0x01, 0x00, 0x4c, 0x04, 0x00, 0x29, 0x19, 0x16, 0x2d, 0x63, 0x61, 0x56, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x34, 0x08, 0x63, 0x01, 0x0a, 0x57, 0x5e, 0x00, 0x00, 0x30, 0x33, 0x32, 0x32, 0x01, 0x07,
            0x23, 0x00, 0x0b, 0x00, 0x19, 0x0c, 0x56, 0x49, 0x4f, 0x4c, 0x49, 0x4e, 0x53, 0x20, 0x20, 0x41 ),
         new dx7_patch( 0x35, 0x40, 0x2c, 0x36, 0x46, 0x51, 0x40, 0x00, 0x37, 0x19, 0x00, 0x03, 0x3a, 0x08, 0x3a, 0x18,
            0x00, 0x35, 0x43, 0x26, 0x36, 0x56, 0x5c, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x08, 0x4f,
            0x0a, 0x00, 0x60, 0x13, 0x14, 0x36, 0x63, 0x5c, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x08,
            0x4b, 0x02, 0x00, 0x32, 0x2b, 0x23, 0x29, 0x5e, 0x61, 0x61, 0x00, 0x2c, 0x50, 0x3c, 0x03, 0x3a,
            0x14, 0x63, 0x02, 0x00, 0x59, 0x43, 0x0f, 0x33, 0x52, 0x5a, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x39, 0x04, 0x56, 0x02, 0x00, 0x34, 0x1e, 0x19, 0x2b, 0x5e, 0x62, 0x61, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x3a, 0x04, 0x63, 0x02, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x0e, 0x0f,
            0x21, 0x0a, 0x24, 0x00, 0x18, 0x0c, 0x43, 0x45, 0x4c, 0x4c, 0x4f, 0x53, 0x20, 0x20, 0x20, 0x42 ),
         new dx7_patch( 0x49, 0x46, 0x3c, 0x00, 0x63, 0x63, 0x61, 0x00, 0x20, 0x00, 0x15, 0x00, 0x3b, 0x00, 0x2f, 0x14,
            0x00, 0x55, 0x46, 0x61, 0x00, 0x63, 0x41, 0x3c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x29, 0x00, 0x36,
            0x10, 0x00, 0x5f, 0x5c, 0x1c, 0x3c, 0x63, 0x5a, 0x00, 0x00, 0x30, 0x00, 0x3c, 0x00, 0x3e, 0x01,
            0x3b, 0x0c, 0x00, 0x62, 0x57, 0x00, 0x00, 0x57, 0x56, 0x00, 0x00, 0x20, 0x00, 0x15, 0x00, 0x3b,
            0x08, 0x54, 0x08, 0x00, 0x5f, 0x5f, 0x00, 0x00, 0x63, 0x60, 0x59, 0x00, 0x20, 0x00, 0x00, 0x00,
            0x33, 0x06, 0x44, 0x04, 0x00, 0x3c, 0x00, 0x0c, 0x46, 0x63, 0x5a, 0x61, 0x00, 0x20, 0x00, 0x00,
            0x00, 0x41, 0x08, 0x60, 0x02, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x11, 0x0d,
            0x23, 0x32, 0x08, 0x63, 0x38, 0x18, 0x43, 0x6c, 0x61, 0x72, 0x69, 0x6e, 0x65, 0x74, 0x20, 0x20 ),
         new dx7_patch( 0x63, 0x40, 0x62, 0x3d, 0x63, 0x43, 0x34, 0x00, 0x2e, 0x00, 0x00, 0x0c, 0x58, 0x08, 0x53, 0x02,
            0x35, 0x41, 0x26, 0x00, 0x3d, 0x63, 0x00, 0x00, 0x00, 0x35, 0x00, 0x2b, 0x00, 0x38, 0x00, 0x38,
            0x04, 0x00, 0x3d, 0x19, 0x19, 0x3c, 0x63, 0x63, 0x61, 0x00, 0x3c, 0x0a, 0x0a, 0x00, 0x3b, 0x00,
            0x00, 0x04, 0x00, 0x35, 0x26, 0x4b, 0x3d, 0x58, 0x2c, 0x18, 0x00, 0x2e, 0x00, 0x00, 0x03, 0x20,
            0x01, 0x4c, 0x02, 0x00, 0x63, 0x61, 0x3e, 0x36, 0x63, 0x63, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x5c, 0x08, 0x4b, 0x02, 0x00, 0x3d, 0x43, 0x46, 0x41, 0x5d, 0x59, 0x62, 0x00, 0x29, 0x00, 0x00,
            0x00, 0x28, 0x08, 0x62, 0x02, 0x00, 0x5e, 0x43, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x0f, 0x05,
            0x1e, 0x17, 0x08, 0x0d, 0x10, 0x18, 0x46, 0x4c, 0x55, 0x54, 0x45, 0x20, 0x20, 0x20, 0x31, 0x20 ),
         new dx7_patch( 0x32, 0x21, 0x12, 0x2e, 0x61, 0x5f, 0x50, 0x00, 0x22, 0x02, 0x00, 0x03, 0x3a, 0x04, 0x54, 0x04,
            0x00, 0x39, 0x34, 0x00, 0x39, 0x62, 0x5f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x10, 0x63,
            0x04, 0x00, 0x39, 0x34, 0x00, 0x39, 0x62, 0x5f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x14,
            0x63, 0x04, 0x00, 0x39, 0x34, 0x00, 0x39, 0x62, 0x5f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a,
            0x10, 0x63, 0x04, 0x00, 0x32, 0x4b, 0x0a, 0x1e, 0x63, 0x60, 0x24, 0x00, 0x22, 0x0b, 0x00, 0x00,
            0x69, 0x04, 0x59, 0x04, 0x00, 0x32, 0x4b, 0x0a, 0x2c, 0x63, 0x5f, 0x24, 0x00, 0x1b, 0x03, 0x00,
            0x00, 0x12, 0x10, 0x63, 0x04, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x15, 0x0f,
            0x26, 0x1a, 0x00, 0x00, 0x28, 0x0c, 0x50, 0x6f, 0x66, 0x4c, 0x20, 0x42, 0x72, 0x61, 0x73, 0x73 ),
         new dx7_patch( 0x31, 0x63, 0x1c, 0x44, 0x62, 0x62, 0x5b, 0x00, 0x27, 0x36, 0x32, 0x05, 0x3c, 0x08, 0x52, 0x02,
            0x00, 0x4d, 0x24, 0x29, 0x47, 0x63, 0x62, 0x62, 0x00, 0x27, 0x00, 0x00, 0x0f, 0x40, 0x08, 0x62,
            0x02, 0x00, 0x4d, 0x24, 0x29, 0x47, 0x63, 0x62, 0x62, 0x00, 0x27, 0x00, 0x00, 0x0f, 0x38, 0x08,
            0x63, 0x02, 0x00, 0x4d, 0x4c, 0x52, 0x47, 0x63, 0x62, 0x62, 0x00, 0x27, 0x00, 0x00, 0x0f, 0x28,
            0x08, 0x63, 0x02, 0x00, 0x3e, 0x33, 0x1d, 0x47, 0x52, 0x5f, 0x60, 0x00, 0x1b, 0x00, 0x07, 0x07,
            0x70, 0x00, 0x56, 0x00, 0x00, 0x48, 0x4c, 0x63, 0x47, 0x63, 0x58, 0x60, 0x00, 0x27, 0x00, 0x0e,
            0x0f, 0x70, 0x00, 0x62, 0x00, 0x00, 0x54, 0x5f, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x15, 0x0f,
            0x25, 0x00, 0x05, 0x00, 0x38, 0x18, 0x42, 0x52, 0x41, 0x53, 0x53, 0x20, 0x20, 0x20, 0x31, 0x20 ),
         new dx7_patch( 0x4d, 0x38, 0x14, 0x46, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x4f, 0x0e,
            0x15, 0x30, 0x37, 0x16, 0x32, 0x62, 0x3d, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x46,
            0x06, 0x06, 0x42, 0x5c, 0x16, 0x32, 0x35, 0x3d, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00,
            0x4f, 0x02, 0x00, 0x2e, 0x23, 0x16, 0x32, 0x63, 0x56, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39,
            0x04, 0x4d, 0x02, 0x00, 0x25, 0x22, 0x0f, 0x46, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x3a, 0x04, 0x46, 0x02, 0x00, 0x37, 0x18, 0x13, 0x37, 0x63, 0x56, 0x56, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x3a, 0x08, 0x63, 0x02, 0x00, 0x5e, 0x43, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x11, 0x0e,
            0x23, 0x00, 0x05, 0x00, 0x30, 0x0c, 0x42, 0x52, 0x41, 0x53, 0x53, 0x20, 0x20, 0x20, 0x33, 0x20 ),
         new dx7_patch( 0x4d, 0x38, 0x14, 0x46, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x04, 0x4f, 0x0e,
            0x15, 0x30, 0x37, 0x16, 0x32, 0x62, 0x3d, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x04, 0x46,
            0x06, 0x06, 0x42, 0x5c, 0x16, 0x32, 0x35, 0x3d, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x04,
            0x4f, 0x02, 0x00, 0x2e, 0x23, 0x16, 0x38, 0x63, 0x56, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39,
            0x0c, 0x4f, 0x02, 0x00, 0x25, 0x22, 0x0f, 0x40, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x3a, 0x08, 0x43, 0x02, 0x00, 0x39, 0x18, 0x13, 0x3c, 0x63, 0x56, 0x56, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x3a, 0x08, 0x63, 0x02, 0x00, 0x5e, 0x43, 0x5f, 0x63, 0x35, 0x31, 0x32, 0x32, 0x11, 0x0f,
            0x1f, 0x00, 0x00, 0x00, 0x10, 0x0c, 0x48, 0x4f, 0x52, 0x4e, 0x20, 0x53, 0x45, 0x43, 0x2e, 0x41 ),
         new dx7_patch( 0x62, 0x02, 0x1a, 0x1b, 0x62, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x08, 0x3b, 0x04, 0x49, 0x00,
            0x38, 0x63, 0x32, 0x1a, 0x13, 0x63, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x07, 0x38, 0x04, 0x49,
            0x00, 0x00, 0x63, 0x1f, 0x11, 0x1e, 0x63, 0x4b, 0x00, 0x00, 0x50, 0x00, 0x00, 0x07, 0x3f, 0x1c,
            0x57, 0x00, 0x4b, 0x63, 0x4d, 0x1a, 0x17, 0x63, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x23,
            0x00, 0x55, 0x00, 0x24, 0x63, 0x4a, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x04,
            0x51, 0x04, 0x56, 0x00, 0x00, 0x63, 0x24, 0x62, 0x21, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x0c, 0x3b, 0x04, 0x63, 0x00, 0x00, 0x63, 0x62, 0x4b, 0x3c, 0x32, 0x33, 0x32, 0x32, 0x0f, 0x0f,
            0x0b, 0x00, 0x10, 0x00, 0x20, 0x18, 0x54, 0x49, 0x4d, 0x50, 0x41, 0x4e, 0x49, 0x20, 0x20, 0x20 ),
         new dx7_patch( 0x38, 0x4d, 0x32, 0x29, 0x63, 0x61, 0x44, 0x00, 0x0f, 0x00, 0x00, 0x04, 0x47, 0x00, 0x0a, 0x04,
            0x02, 0x4a, 0x57, 0x32, 0x29, 0x57, 0x1b, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x04, 0x37, 0x00, 0x62,
            0x02, 0x04, 0x5a, 0x3a, 0x32, 0x29, 0x60, 0x1b, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x04, 0x56, 0x00,
            0x62, 0x02, 0x02, 0x53, 0x14, 0x32, 0x29, 0x63, 0x1b, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x04, 0x3b,
            0x00, 0x63, 0x00, 0x00, 0x63, 0x4d, 0x2a, 0x23, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x38, 0x00, 0x63, 0x00, 0x00, 0x58, 0x2f, 0x2e, 0x2e, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x3b, 0x00, 0x63, 0x00, 0x00, 0x62, 0x62, 0x62, 0x62, 0x32, 0x32, 0x32, 0x32, 0x0d, 0x0d,
            0x2c, 0x1c, 0x0e, 0x50, 0x72, 0x0c, 0x4c, 0x4f, 0x47, 0x20, 0x44, 0x52, 0x55, 0x4d, 0x20, 0x20 ),
         new dx7_patch( 0x17, 0x19, 0x07, 0x0e, 0x56, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x08, 0x24, 0x02,
            0x14, 0x12, 0x1e, 0x0f, 0x12, 0x5f, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1c, 0x52,
            0x02, 0x28, 0x12, 0x1e, 0x0f, 0x16, 0x5f, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x08,
            0x54, 0x06, 0x00, 0x12, 0x1e, 0x0f, 0x27, 0x57, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38,
            0x04, 0x4a, 0x00, 0x31, 0x56, 0x1a, 0x14, 0x1e, 0x63, 0x5f, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x38, 0x08, 0x48, 0x00, 0x3c, 0x56, 0x1a, 0x14, 0x1f, 0x63, 0x5f, 0x29, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x38, 0x04, 0x63, 0x00, 0x00, 0x63, 0x62, 0x4b, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x0f, 0x05,
            0x23, 0x59, 0x00, 0x00, 0x47, 0x18, 0x47, 0x4f, 0x4e, 0x47, 0x20, 0x20, 0x20, 0x20, 0x31, 0x20 ),
         new dx7_patch( 0x13, 0x0c, 0x47, 0x1c, 0x63, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x62, 0x00,
            0x00, 0x45, 0x0b, 0x47, 0x1c, 0x63, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x63,
            0x00, 0x00, 0x62, 0x0c, 0x47, 0x1c, 0x63, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00,
            0x4b, 0x04, 0x4b, 0x5f, 0x21, 0x47, 0x19, 0x63, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12,
            0x00, 0x63, 0x02, 0x00, 0x62, 0x0c, 0x47, 0x1c, 0x63, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x52, 0x00, 0x4e, 0x04, 0x4b, 0x5f, 0x21, 0x47, 0x19, 0x63, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x4a, 0x00, 0x5f, 0x02, 0x00, 0x43, 0x5f, 0x5f, 0x3c, 0x32, 0x32, 0x32, 0x32, 0x04, 0x04,
            0x23, 0x00, 0x00, 0x00, 0x62, 0x18, 0x54, 0x55, 0x42, 0x45, 0x52, 0x49, 0x53, 0x45, 0x20, 0x41 ),
         new dx7_patch( 0x63, 0x39, 0x22, 0x63, 0x63, 0x63, 0x63, 0x63, 0x39, 0x63, 0x63, 0x0c, 0x38, 0x00, 0x63, 0x3f,
            0x63, 0x61, 0x50, 0x50, 0x63, 0x63, 0x0e, 0x63, 0x63, 0x3a, 0x63, 0x63, 0x0c, 0x3a, 0x00, 0x63,
            0x03, 0x63, 0x63, 0x2c, 0x28, 0x2e, 0x63, 0x5c, 0x00, 0x00, 0x39, 0x63, 0x63, 0x0c, 0x3c, 0x00,
            0x63, 0x05, 0x1f, 0x5d, 0x63, 0x48, 0x43, 0x63, 0x4d, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x25,
            0x00, 0x63, 0x03, 0x2a, 0x63, 0x43, 0x4d, 0x2d, 0x63, 0x00, 0x00, 0x00, 0x17, 0x63, 0x0b, 0x03,
            0x55, 0x00, 0x5d, 0x00, 0x10, 0x63, 0x2e, 0x39, 0x42, 0x63, 0x5a, 0x00, 0x00, 0x33, 0x00, 0x63,
            0x03, 0x3b, 0x00, 0x63, 0x00, 0x5c, 0x63, 0x59, 0x35, 0x00, 0x2e, 0x18, 0x00, 0x38, 0x02, 0x0f,
            0x23, 0x00, 0x00, 0x00, 0x31, 0x14, 0x44, 0x49, 0x47, 0x49, 0x20, 0x44, 0x52, 0x55, 0x4d, 0x31 ),
         new dx7_patch( 0x63, 0x2e, 0x36, 0x55, 0x63, 0x60, 0x63, 0x00, 0x39, 0x00, 0x00, 0x00, 0x3a, 0x04, 0x63, 0x05,
            0x4b, 0x63, 0x2e, 0x22, 0x5b, 0x63, 0x5f, 0x63, 0x00, 0x0c, 0x63, 0x00, 0x00, 0x73, 0x00, 0x4e,
            0x07, 0x31, 0x58, 0x49, 0x35, 0x5d, 0x63, 0x4d, 0x00, 0x00, 0x0c, 0x63, 0x00, 0x00, 0x72, 0x1c,
            0x5b, 0x10, 0x03, 0x58, 0x38, 0x3c, 0x5d, 0x63, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53,
            0x14, 0x4f, 0x02, 0x1c, 0x58, 0x38, 0x3c, 0x5d, 0x63, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x23, 0x18, 0x53, 0x02, 0x62, 0x4e, 0x20, 0x2c, 0x3c, 0x63, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x2a, 0x00, 0x63, 0x00, 0x07, 0x56, 0x5d, 0x63, 0x63, 0x00, 0x34, 0x00, 0x5d, 0x11, 0x0f,
            0x23, 0x00, 0x00, 0x00, 0x31, 0x0c, 0x42, 0x65, 0x61, 0x74, 0x4d, 0x65, 0x48, 0x72, 0x64, 0x72 ),
         new dx7_patch( 0x38, 0x4d, 0x32, 0x29, 0x63, 0x1b, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x04, 0x42, 0x03, 0x62, 0x02,
            0x07, 0x38, 0x40, 0x32, 0x29, 0x63, 0x5f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x04, 0x34, 0x02, 0x61,
            0x00, 0x00, 0x0d, 0x1f, 0x32, 0x29, 0x63, 0x57, 0x4f, 0x00, 0x0f, 0x00, 0x00, 0x04, 0x44, 0x01,
            0x63, 0x00, 0x01, 0x0d, 0x1f, 0x32, 0x29, 0x63, 0x57, 0x4f, 0x00, 0x0f, 0x00, 0x00, 0x04, 0x3b,
            0x00, 0x63, 0x00, 0x00, 0x0d, 0x1f, 0x32, 0x29, 0x63, 0x57, 0x4f, 0x00, 0x0f, 0x00, 0x00, 0x04,
            0x04, 0x00, 0x55, 0x00, 0x02, 0x0d, 0x1f, 0x32, 0x29, 0x63, 0x57, 0x4f, 0x00, 0x0f, 0x00, 0x00,
            0x04, 0x73, 0x00, 0x63, 0x00, 0x00, 0x63, 0x63, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x00, 0x0f,
            0x00, 0x00, 0x00, 0x00, 0x70, 0x18, 0x45, 0x56, 0x4f, 0x4c, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x20 ),
         new dx7_patch( 0x40, 0x23, 0x20, 0x20, 0x63, 0x63, 0x63, 0x00, 0x0a, 0x00, 0x08, 0x03, 0x38, 0x0a, 0x46, 0x0a,
            0x00, 0x40, 0x1e, 0x20, 0x14, 0x63, 0x63, 0x63, 0x00, 0x0a, 0x00, 0x08, 0x03, 0x58, 0x0a, 0x5b,
            0x02, 0x00, 0x40, 0x2b, 0x00, 0x27, 0x63, 0x63, 0x63, 0x00, 0x27, 0x00, 0x63, 0x07, 0x30, 0x0f,
            0x4a, 0x34, 0x00, 0x3e, 0x18, 0x00, 0x2d, 0x63, 0x63, 0x63, 0x00, 0x1b, 0x0c, 0x00, 0x0c, 0x38,
            0x08, 0x63, 0x02, 0x00, 0x40, 0x2b, 0x20, 0x14, 0x63, 0x63, 0x63, 0x00, 0x0a, 0x00, 0x08, 0x03,
            0x08, 0x0a, 0x54, 0x04, 0x00, 0x2d, 0x18, 0x20, 0x2d, 0x63, 0x63, 0x63, 0x00, 0x27, 0x00, 0x00,
            0x0f, 0x30, 0x0c, 0x63, 0x02, 0x00, 0x63, 0x63, 0x43, 0x63, 0x32, 0x32, 0x32, 0x32, 0x08, 0x04,
            0x25, 0x00, 0x00, 0x00, 0x08, 0x18, 0x4e, 0x61, 0x73, 0x74, 0x79, 0x20, 0x4b, 0x43, 0x50, 0x32 ),
         new dx7_patch( 0x20, 0x15, 0x26, 0x1e, 0x52, 0x44, 0x00, 0x00, 0x21, 0x0d, 0x12, 0x06, 0x3a, 0x00, 0x50, 0x00,
            0x00, 0x2f, 0x14, 0x45, 0x21, 0x52, 0x3e, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x04, 0x12, 0x1c, 0x37,
            0x00, 0x00, 0x28, 0x20, 0x53, 0x1e, 0x63, 0x44, 0x00, 0x00, 0x3c, 0x0d, 0x00, 0x06, 0x3a, 0x14,
            0x63, 0x00, 0x00, 0x35, 0x1d, 0x19, 0x1e, 0x63, 0x55, 0x34, 0x00, 0x2b, 0x13, 0x04, 0x04, 0x3b,
            0x08, 0x63, 0x00, 0x00, 0x5d, 0x28, 0x0d, 0x24, 0x45, 0x58, 0x3b, 0x00, 0x14, 0x24, 0x00, 0x04,
            0x3c, 0x00, 0x59, 0x04, 0x00, 0x1d, 0x15, 0x14, 0x32, 0x63, 0x23, 0x1c, 0x00, 0x28, 0x17, 0x00,
            0x0a, 0x3b, 0x00, 0x5c, 0x08, 0x00, 0x0c, 0x4e, 0x2d, 0x62, 0x63, 0x59, 0x0b, 0x00, 0x10, 0x0f,
            0x63, 0x00, 0x00, 0x00, 0x72, 0x18, 0x47, 0x52, 0x41, 0x4e, 0x44, 0x20, 0x50, 0x52, 0x49, 0x58 ),
         new dx7_patch( 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x50, 0x05,
            0x25, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x03, 0x63,
            0x00, 0x00, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00,
            0x50, 0x05, 0x26, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x03, 0x63, 0x00, 0x00, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x70, 0x00, 0x50, 0x05, 0x26, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x38, 0x03, 0x63, 0x00, 0x00, 0x63, 0x1c, 0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x04, 0x0b,
            0x02, 0x00, 0x0e, 0x00, 0x31, 0x18, 0x54, 0x49, 0x4d, 0x45, 0x57, 0x41, 0x52, 0x50, 0x20, 0x20 ),
        };

        public static dx7_patch dx7_voice_init_voice = new dx7_patch(
            0x62, 0x63, 0x63, 0x5A, 0x63, 0x63, 0x63, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x02,
            0x00, 0x62, 0x63, 0x63, 0x5A, 0x63, 0x63, 0x63,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00,
            0x02, 0x00, 0x62, 0x63, 0x63, 0x5A, 0x63, 0x63,
            0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00,
            0x00, 0x02, 0x00, 0x62, 0x63, 0x63, 0x5A, 0x63,
            0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38,
            0x00, 0x00, 0x02, 0x00, 0x62, 0x63, 0x63, 0x5A,
            0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x38, 0x00, 0x00, 0x02, 0x00, 0x62, 0x63, 0x63,
            0x5A, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x38, 0x00, 0x63, 0x02, 0x00, 0x63, 0x63,
            0x63, 0x63, 0x32, 0x32, 0x32, 0x32, 0x00, 0x08,
            0x23, 0x00, 0x00, 0x00, 0x31, 0x18, 0x20, 0x20,
            0x20, 0x7F, 0x2D, 0x2D, 0x7E, 0x20, 0x20, 0x20);

        public static byte[] dx7_init_performance = new byte[Constants.DX7_PERFORMANCE_SIZE] {
            0,  0, 0, 2, 0,  0, 0,  0,
            0, 15, 1, 0, 4, 15, 2, 15,
            2,  0, 0, 0, 0,  0, 0,  0,
            0,  0, 0, 0, 0,  0, 0,  0,
            0,  0, 0, 0, 0,  0, 0,  0,
            0,  0, 0, 0, 0,  0, 0,  0,
            0,  0, 0, 0, 0,  0, 0,  0,
            0,  0, 0, 0, 0,  0, 0,  0
        };

        public static Int32[] dx7_voice_sin_table = new Int32[Constants.SINE_SIZE + 1];

        public static void init_data()
        {
            int i;
            double f;

            for (i = 0; i <= Constants.SINE_SIZE; i++)
            {
                /* observation of my TX7's output with oscillator sync on suggests
                 * it uses cosine */
                f = Math.Cos((double)(i) / Constants.SINE_SIZE * (2 * Constants.M_PI));  /* index / index max * radian cycle */
                dx7_voice_sin_table[i] = Inline.DOUBLE_TO_FP(f);
            }
        }
    }
}
